测量图圆孔的圆心到边的距离。
由于物体表面形状不规则,使用halcon测量助手和测量对不能稳定确定到需要测量的测量对,圆心无法使用测量助手直接找到(暂时没有想到方法)。
尝试使用二值化获取灰度图,处理得到圆环区域,再得到圆心位置,对边则通过拟合线得到直线,使用算子distance_pl得到结果。
处理圆环区域得到效果如下:
- 处理圆环区域,参数依据实际产品来定,这里就不写了。
threshold
connection
select_shape
area_center
- 获取边界
*获取边沿区域的亚像素轮廓
edges_sub_pix ( , Edges, 'canny', 1, 20, 40)
segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 4, 2)
*选择竖直的那条边
select_contours_xld (ContoursSplit, SelectedContours, 'contour_length', 200, 9999, -0.5, -0.5)
*拟合直线
*fit_line_contour_xld 获取拟合直线的坐标,长度等
fit_line_contour_xld (SelectedContours, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
gen_contour_polygon_xld (SelectedContours, [RowBegin, RowEnd],[ColBegin,ColEnd])