【Halcon图像】测量

        机器视觉的测量原理

        基于机器视觉的检测过程:对感兴趣的对象或区域进行成像,然后结合其图像信息,利用图像处理软件进行处理,根据处理结果自动判断检测对象的位置,尺寸,外观信息,并依据人为预先设定的标准进行合格与否的判断,最后输出其判断信息给执行机构。机器视觉检测系统采用CCD相机或CMOS相机将被检测的对象信息转换成图像信号,传送给专用的图像处理软件,图像处理软件根据像素分布,亮度,颜色等信息,将图像信号,转变成数字化信号,并对这些信号进行各种运算,来抽取对象的特征,如面积,数量,位置,长度等。再根据预设的值和其他条件输出结果,包括尺寸,角度,个数,合格/不合格,存在/不存在,等等。以此实现自动检测的功能。

        事实表明,基于机器视觉的图像测量,具有良好的连续性,稳定性,也保证了测量精度。

        算子:

        distance_pp ()   测量两点之间的距离

        distance_ss ()   测量两线段之间的距离

        distance_cc ()   测量两轮廓之间的距离

        distance_rr_min ()   测量两区域之间的距离

        angle_ll ()   测量两条直线之间的夹角

【Halcon图像】测量_第1张图片

*关闭窗口
dev_close_window ()

*打开窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)

*读取图像
read_image (Image, 'printer_chip/printer_chip_01')

*选择区域
draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)

*生成区域
gen_rectangle1 (Rectangle, Row1, Column1, Row2, Column2)

*裁剪区域
reduce_domain (Image, Rectangle, ImageReduced)

*提取亚像素轮廓
edges_sub_pix (ImageReduced, Edges, 'canny', 1, 20, 40)

*分割轮廓
segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 4, 2)

*选择特征轮廓
select_shape_xld (ContoursSplit, SelectedXLD, 'phi', 'and', -2, 2)

*选择对象1
select_obj (SelectedXLD, ObjectSelected1, 1)

*拟合直线1
fit_line_contour_xld (ObjectSelected1, 'tukey', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)

*生成直线1
gen_contour_polygon_xld (Contour1, [RowBegin,RowEnd+500], [ColBegin,ColEnd])

*选择对象2
select_obj (SelectedXLD, ObjectSelected2, 2)

*拟合直线2
fit_line_contour_xld (ObjectSelected2, 'tukey', -1, 0, 5, 2, RowBegin1, ColBegin1, RowEnd1, ColEnd1, Nr1, Nc1, Dist1)

*生成直线2
gen_contour_polygon_xld (Contour2, [RowBegin1,RowEnd1+500] ,[ColBegin1,ColEnd1])

*获取两条直线间的距离
distance_cc (Contour1, Contour2, 'point_to_point', DistanceMin, DistanceMax)

*将距离值显示在窗口
disp_message (WindowHandle, DistanceMin, 'window', 50, 50, 'black', 'true')





【Halcon图像】测量_第2张图片



你可能感兴趣的:(视觉,图像处理,计算机视觉)