【halcon】halcon常用方法总结

  • Post author:
  • Post category:其他


寻找特征步步逼近

选中一块区域,查看这个区域的特征:

比如可以查看这个区域的面积:

再配合面积选择的算子:

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’。

凸性,就是将凸出的最高点连接起来了:



版权声明:本文为songhuangong123原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。