如下图,我们需要找到该产品的中心的螺丝孔。
处理结果截图如下:
halcon的中间处理结果如下图
这个例子在各类锁螺丝设备中都比较常见。采用基本的形态学算子,如:
threshold, connection, select_shape 即可以解决问题。
但是如果是多种颜色的产品,可能不光要调节面积、阈值等算子的参数,还需要调用不同的光源或者相机曝光参数等。
在下面的代码中, inner_circle算子即求出圆心位置,这个位置是相机的坐标,还需要和马达的坐标关联起来。
这个过程,我们需要做相关的标定。一般我们可以使用九点标定实现。
源码如下:
*read_image (pic, 'C:/Users/Administrator/Desktop/螺丝机三种颜色/white2.tiff') *read_image (pic, 'C:/Users/Administrator/Desktop/螺丝机三种颜色/black10.tiff') read_image (pic, 'C:/Users/Administrator/Desktop/螺丝机三种颜色/zs6.tiff') threshold(pic, Region, 0, 32) connection(Region, ConnectedRegions) select_shape(ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [150,0.2], [15000,1]) count_obj(SelectedRegions, Number) select_shape(SelectedRegions, SelectedRegions1, 'area', 'and', 2000, 10949.6) fill_up(SelectedRegions1, RegionFillUp) inner_circle(RegionFillUp, Row, Column, Radius) gen_circle(Circle, Row, Column, Radius) gen_cross_contour_xld(Cross, Row, Column, 6, 0.785398)
本例子500W工业相机的源始图片素材下载
https://pan.baidu.com/s/1J15X0bRG_4uXbZPci7_kVg
提取码:8zy3
注意: 下载文件有密码,需要联系作者(QQ: 496103864 微信: abc496103864)并打赏(任意金额均可,以支付本站网络空间费用)

