【halcon】halcon常用方法总结
寻找特征步步逼近
选中一块区域,查看这个区域的特征:
比如可以查看这个区域的面积:
再配合面积选择的算子:
select_shape (SelectedRegions, SelectedRegions1, 'area', 'and', 7500, 99999)
完美~~~
select_shape (SelectedRegions, SelectedRegions1, 'outer_radius', 'and', 30, 40)
'outer_radius' 表示使用外接圆半径进行查找,这个是一个很好用的选项!
最常用,最直接的算子:对图形按灰度值进行分割!
(Region区域,图像的一个子集。)
threshold (Image, Region, 128, 255) *筛选出灰度值在128~255之间的区域
为了快速的选择合适的灰度,我们通常会用到一个工具:灰度直方图,是对像素的一个灰度统计:
halcon提供这样的工具:
图中红色区域就代表被当前灰度范围选中的部分。
将Region进行打散以便选择过滤
connection (Region, ConnectedRegions)
被打散的版块通过彩色显示~~~
有打散就有联合:union1
union1 (ConnectedRegions, RegionUnion)
将打散的块,联合成一个整体。
通过够不够方(通过更换参数,也可以选择够不够圆),将目标显示出来:
select_shape (ConnectedRegions, SelectedRegions, 'rectangularity', 'and', 0.9, 1)
筛选出够方的区域:
填补没有选择到的洞
fill_up(SelectedRegions1, RegionFillUp)
通过区域将图像抠出来,俗称抠图
reduce_domain (Image, RegionFillUp, ImageReduced)
通过参数列表也能看到,第二个参数位区域,输出的参数图片。该图片以外的区域都将变成无效区域。
通过这个算子,可以清晰的认识到区域(Region)和图片(image)区别!
Region:(符合一定条件的)二值化区域。
体会一下 image-》Region-》image 的过程。
显示边框还是填充由你决定
右键图片-》更新窗口-》在单步模式-》清空并显示:
作用是每次单步清除上一次的结果,显示当前作用效果,可以看着自己的选择一点点在靠近目标。
改变形状
shape_trans , 可将图形改变为圆形(外接圆,内接圆),方形,还有“凸性” ‘convex’。
凸性,就是将凸出的最高点连接起来了:
作者:宋桓公
出处:http://www.cnblogs.com/douzi2/
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。