随笔分类 -  机器视觉

1 2 下一页
sort_region算子对多个区域进行排序研究
摘要:sort_region是个很有用的算子,在对多个Region进行排序时,经常用到。 算子含义:根据区域的相对位置对区域进行排序。(Sorting of regions with respect to their relative position.) 算子签名:sort_region(Regions 阅读全文
posted @ 2022-08-10 17:33 xh6300 阅读(4109) 评论(0) 推荐(1) 编辑
浓淡补正的实现探究和复杂背景下细小缺陷的检测
摘要:“浓淡补正”是基恩士视觉的一个很强大的算法工具。使用“浓淡补正”的预处理,可以消除工件表面的光泽和阴影,仅抽取污点及瑕疵。(如下图) 至于它的实现原理,网上搜不到相关资料。不过根据它的实现效果,能大致窥见它的原理:排除背景渐变的浓淡变化,只抽取对比度急剧变化的部分。 看到这句话,想必有些人已经想到了 阅读全文
posted @ 2022-07-13 19:35 xh6300 阅读(2464) 评论(0) 推荐(0) 编辑
仿射变换中错切变换的研究与应用
摘要:仿射变换是平移、翻转、旋转、缩放、错切这五种变换的组合。 错切变换就是上图中的第5种。 图像的错切实际上是平面景物在投影平面上的非垂直投影。错切使图像中的图形产生扭变,其一般有两种情况:水平方向错切、垂直方向错切。(如下图所示) 具体数学解释,可参考网上的这篇博客:https://blog.csdn 阅读全文
posted @ 2022-07-07 19:19 xh6300 阅读(886) 评论(0) 推荐(0) 编辑
黑白多帧相机设置白平衡原理
摘要:白平衡,字面意思即白色的平衡。白平衡是描述显示器中红、绿、蓝三基色混合生成后白色(无彩色)准确度的一项指标。 如果用白平衡准确的彩色相机拍摄白纸或者灰板(不能过曝),生成的图像不应该存在偏色,而应该是纯粹的灰色。灰色RGB图像的R、G、B通道图是一模一样的,如下: 白 色:255, 255, 255 阅读全文
posted @ 2022-05-04 14:07 xh6300 阅读(722) 评论(0) 推荐(1) 编辑
Halcon的OCR字符识别算法技巧总结
摘要:一、重要算子 OCR分类器其实有很多,如下图所示。但是通常mlp分类器效果较好,使用较多。 主要算子如下: ① append_ocr_trainf(Character, Image : : Class, TrainingFile : ) 四个参数分别是:字符Region、字符Image、字符文本、O 阅读全文
posted @ 2020-07-28 17:58 xh6300 阅读(17731) 评论(8) 推荐(7) 编辑
博友互动交流贴~
摘要:2021年春刚换了新工作,目前在苏州从事光伏行业,新工作的头几个月比较忙,博客更新很慢,还望大家海涵。 后续会适当加大更新频率,博客将一如既往坚持原创、坚持实用。(博客文章若无特别声明,即为原创) 从2015年入行算起,从事机器视觉行业已7年,“自动化 + 控制工程”专业出身,熟悉相机、光源、镜头的 阅读全文
posted @ 2020-05-09 12:11 xh6300 阅读(1294) 评论(15) 推荐(0) 编辑
region、xld有对应的字符串时,将region、xld按照行或列排序的算法实现
摘要:用Halcon解码时,如果一张图里面有多个码,它通常可以把这些码都解出来,并且生成对应的解码结果字符串元组(也就是下面的DecodedDataStrings),如果有多个码,那么该元组就有多个元素。 ① find_bar_code(Image : SymbolRegions : BarCodeHan 阅读全文
posted @ 2019-11-22 18:12 xh6300 阅读(1508) 评论(4) 推荐(1) 编辑
影响形状模板匹配的查找速度的参数分析
摘要:我们都知道,HDevelop中,在菜单栏“助手”中,可以通过“Matching”助手辅助模板匹配的建模等操作。 “基于形状”的模板匹配, 主要有三种类型:find_shape_model、find_scaled_shape_model、find_aniso_shape_model。 那么这三种类型有 阅读全文
posted @ 2019-09-09 16:17 xh6300 阅读(5832) 评论(5) 推荐(3) 编辑
求圆环毛刺凸出高度是否超标的算法实现
摘要:项目需求:要求圆环外圈毛刺的凸出高度不得超过20像素,如超过判为NG。 算法分析:按照一般的思路,应该是先将外圈拟合成一个圆;然后将这个工件阈值化,提取工件区域;然后用该区域减去之前拟合的圆,剩下的区域就是毛刺部分了。那么什么样特征的毛刺算超标的呢?很显然,如果仅仅用'area'、'inner_ra 阅读全文
posted @ 2019-08-01 11:40 xh6300 阅读(2024) 评论(8) 推荐(0) 编辑
Halcon的二维码解码步骤和解码技巧
摘要:一、二维码简介 1 . 类型多样,常见的有QR Code二维码、 Data Matrix二维码等。 2.高密度编码,信息容量大。 3.容错能力强,具有纠错功能:二维码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。 4.译码可靠性高:它比普通条码译码错误率百万分之二 阅读全文
posted @ 2019-03-07 20:32 xh6300 阅读(24754) 评论(0) 推荐(0) 编辑
Halcon的一维条码解码步骤和解码技巧
摘要:一、图像预处理和条码增强 对比度太低:scale_image(或使用外部程序scale_image_range),增强图像的对比度。 图像模糊:emphasize锐化图像,使条码看起来更清晰。 深色背景上读取浅色条码:invert_image反转图像。 二、解码涉及的主要算子 read_image 阅读全文
posted @ 2019-03-06 18:08 xh6300 阅读(12630) 评论(0) 推荐(2) 编辑
机器视觉中提高解码成功率的思路分析
摘要:以Halcon为例,一般解码的步骤为:创建解码模型——设置解码参数——执行解码——清除模型回收内存。如下所示: 我们一般会在“设置解码参数”这个步骤里面做文章。例如设置多个参数,以达到解码成功率高且解码速度快的目的。这个只是常规思路,我今天并不想讲这个,而且这种思路有局限:有时候无论你参数设置得多么 阅读全文
posted @ 2018-10-18 11:58 xh6300 阅读(6012) 评论(0) 推荐(1) 编辑
DALSA网口线扫相机SDK开发详解例程(C#版)
摘要:首先吐槽一句,官方的demos写的真的不好,坑爹啊。对于小白来说,开发官方demos为我所用太难了。为什么呢?因为它Dalsa的DALSA.SaperaLT.SapClassBasic.dll中,不仅有采图的代码库,还有用于显示的UI库(它不是用Winform的PictureBox显示图片,而是用它 阅读全文
posted @ 2018-06-21 17:29 xh6300 阅读(20263) 评论(25) 推荐(5) 编辑
机器视觉中不同类型光源的不同打光方式的效果探究
摘要:有经验的机器视觉工程师都会认可这样一句话:机器视觉项目的成败在于能否得到一张打光优秀的图片。如果采集到的图片本身“质量”很差,那么接来下的图像处理工作就会困难重重。 由于项目的需求以及光源厂商的努力,目前机器视觉光源的类型可以说十分丰富,例如条光、背光、平行背光、同轴光、点光、隧道光、碗光、环形光、 阅读全文
posted @ 2017-09-23 22:56 xh6300 阅读(16319) 评论(2) 推荐(6) 编辑
Halcon中的坐标系特点及XLD的镜像转换
摘要:我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角。那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析。 这三个点在Halcon中的位置如下图: 上面的程序最终生成了一个名为threePoint.dxf的文件。我用文本查看器(notepa 阅读全文
posted @ 2017-08-31 21:43 xh6300 阅读(13730) 评论(0) 推荐(3) 编辑
Halcon二维仿射变换实例探究
摘要:二维仿射变换,顾名思义就是在二维平面内,对对象进行平移、旋转、缩放等变换的行为(当然还有其他的变换,这里仅论述这三种最常见的)。 Halcon中进行仿射变换的常见步骤如下: ① 通过hom_mat2d_identity算子创建一个初始化矩阵(即[1.0, 0.0, 0.0, 0.0, 1.0, 0. 阅读全文
posted @ 2017-08-28 00:13 xh6300 阅读(33849) 评论(3) 推荐(14) 编辑
将Halcon导出的多个dxf文件合并成一个分图层的dxf文件
摘要:Halcon中可以通过concat_obj合并多个XLD,并且可以通过write_contour_xld_dxf再将XLD保存为.dxf文件。但是,保存后的.dxf文件用AutoCAD打开后发现,它们都是位于一个图层上的(0号图层),并且颜色都是白色(颜色代号7)。 如下所示: 有时候,我们要求这些 阅读全文
posted @ 2017-08-25 22:18 xh6300 阅读(3602) 评论(0) 推荐(0) 编辑
Halcon中缩放Region或XLD的方法研究
摘要:在Halcon中,Region和XLD之间可以彼此转换。但这种转换并不是“无损”的,XLD可以是不闭合的,但是Region一定是闭合的。因此,如果将不闭合的XLD转为Region,然后再转回XLD,那么转换后的XLD和原先的XLD就有了一定的区别。 言归正传,先说说Region的缩放。 一、Regi 阅读全文
posted @ 2017-08-22 23:29 xh6300 阅读(7927) 评论(2) 推荐(1) 编辑
线扫相机项目中定量判断机构运动是否匀速的方法
摘要:线扫相机的原理:线扫相机一般一次只拍摄一条线(线宽通常是1个像素),在机构运动的过程中,线扫相机不断地拍摄线,于是“聚线成面”,这就是线扫相机成像的原理。 线扫相机的原理决定了,它所拍摄的物体必须要运动。机构运动的话,就存在机构的速度是否和线扫相机采集的速度匹配的问题。 将对机构运动速度的要求进行拆 阅读全文
posted @ 2017-08-22 21:17 xh6300 阅读(2219) 评论(1) 推荐(1) 编辑
简单拼接图像的tile_images和tile_images_offset算子
摘要:有时候通常需要简单的拼图,不涉及图像融合之类的,仅仅是简单的平移将多张图拼接成一张图。tile_images和tile_images_offset就是用于简单拼图的2个算子。 谈到拼图,肯定有以下问题要明确: 1、将多少张图拼起来?由于是多张图,这需要一个元组来存储多张图片的集合。 2、是横向拼图, 阅读全文
posted @ 2017-03-30 22:30 xh6300 阅读(6305) 评论(0) 推荐(0) 编辑

1 2 下一页