halcon案列1回形针分割与计数

*读取图像
read_image(Image,'clip')
*灰度阈值分割
threshold (Image, Regions, 0, 65)
*联通分割
connection (Regions, ConnectedRegions)
*计数
count_obj (ConnectedRegions, Number1)
*特征选取
select_shape (ConnectedRegions, SelectedRegions, 'column', 'and', 16.46, 721.2)
*计数
count_obj (SelectedRegions, Number)
*最小外界矩形
area_center (SelectedRegions, Area, Row, Column)
smallest_rectangle2 (SelectedRegions, Row1, Column1, Phi, Length1, Length2)
*Clip的方向
gen_rectangle2 (Rectangle, Row1, Column1, Phi, Length1, Length2)
gen_arrow_contour_xld (Arrow, Row, Column, Row1, Column1, 50, 50)

*回形针占有面积
fill_up (SelectedRegions, RegionFillUp)

***注意点***

clip为halcon自带的图片,直接读入即可(或者用下图)

halcon案列1回形针分割与计数_第1张图片

灰度阈值分割

halcon案列1回形针分割与计数_第2张图片

在灰度直方图中 范围筛选一栏中阈值左侧点击显示图标为绿色图标后 移动直方图绿线与红线选择阈值范围,随后点击插入代码即可

特征选取

halcon案列1回形针分割与计数_第3张图片

 点击菜单栏中的特征直方图 同灰度图一样操作 在特征一栏选择想要的特征选项 这里将最左侧的红线剔除 根据特征用列特征(column)最为方便 选取范围后 点击插入代码即可

其它都是halcon中的算子,已有注释。

最后结果如图:

halcon案列1回形针分割与计数_第4张图片

在变量一栏可以看到第二次的计数为13为正确的计数。

 

 

 

你可能感兴趣的:(机器视觉与算法原理,图像处理)