需要检测红框内的物体中心点。
程序如下:
*读取图像
read_image (Image, 'fabrik.png')
*获取图像大小
get_image_size (Image, Width, Height)
*关闭窗口
dev_clear_window()
*打开窗口
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
*显示图像
dev_display(Image)
* 限制灰度值范围:128-最小灰度值 255-最大灰度值
threshold (Image, Region, 128, 255)
* 连通域搜索:寻找闭合图像
connection (Region, ConnectedRegions)
* 选择形状: 面积范围: 最小 最大
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 8144, 8500)
*获取面积中心
area_center(SelectedRegions, Area, Row, Column)
*生成十字星
gen_cross_contour_xld (Cross, Row, Column, 30, 0.0)
思路:寻找物体的特征,发现物体的灰度与周围相比偏高,再用面积筛选出合适大小的连通域,获取该连通域的面积中心,绘制十字星。
- 鼠标放在图中时,右下方会有灰度值的实时显示,便于比较灰度值的大小。
- 使用连通域寻找闭合图形后,打开halcon上方的特征检测,先选择你想要的轮廓,再选择合适的特征,确定阈值。
特征检测图标: