6.1XLD 的生成和提取
XLD 的创建
生成圆轮廓gen_circle_contour_xld
算子:gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : )
示例:gen_circle_contour_xld (ContCircle1, 500, 500, 150, 0, 6.28318, 'positive', 1)
ContCircle1(输出对象):输出生成的轮廓对象
500(输入控制参数1):圆的中心行坐标(默认)
500(输入控制参数2):圆的中心列坐标(默认)
150(输入控制参数3):圆的半径(默认)
0(输入控制参数4):圆的起点或圆弧[rad]的角度(默认)
6.28318(输入控制参数5):圆弧或圆弧[rad]的终点角度(默认)
'positive(输入控制参数6)':沿圆或圆弧的点顺序(默认)
1(输入控制参数7):相邻轮廓点之间的距离(默认)
生成矩形轮廓gen_rectangle2_contour_xld
算子:gen_rectangle2_contour_xld( : Rectangle : Row, Column, Phi, Length1, Length2 : )
示例:gen_rectangle2_contour_xld (Rectangle6, 500, 500, 45, 100, 200)
Rectangle6(输出对象):输出轮廓对象
500(输入控制参数1):矩形中心行坐标
500(输入控制参数2):矩形中心列坐标
45(输入控制参数3):矩形主轴的角度
100(输入控制参数4):长度的一般
200(输入控制参数5):宽度的一般
生成箭头轮廓gen_arrow_contour_xld
算子:gen_arrow_contour_xld( : Arrow : Row1, Column1, Row2, Column2, HeadLength, HeadWidth : )
示例:gen_arrow_contour_xld (Arrow, 500, 500, 450, 450, 20, 20)
Arrow(输出对象):输出箭头轮廓
500(输入控制参数1):箭头尾部点的行坐标
500(输入控制参数2):箭头尾部点的列坐标
450(输入控制参数3):箭头头部点的行坐标
450(输入控制参数4):箭头头部点的列坐标
20(输入控制参数5):箭头尖角的长度
20(输入控制参数6):箭头箭帽的开合程度
生成十字叉轮廓gen_cross_contour_xld
算子:gen_cross_contour_xld( : Cross : Row, Col, Size, Angle : )
示例:gen_cross_contour_xld (Cross3, 500, 500, 90, 0)
Cross3(输出对象):输出数字坐标轮廓
500(输入控制参数1):十字坐标中心的行坐标
500(输入控制参数2):十字坐标中心的列坐标
90(输入控制参数3):十字型的大小
0(输入控制参数4):十字坐标相对于水平的角度
使用其他形式转换为轮廓
区域转轮廓gen_contour_region_xld
算子:gen_contour_region_xld(Regions : Contours : Mode : )
示例:gen_contour_region_xld (ROI_0, Contours1, 'border')
ROI_0(输入对象):输入区域
Contours1(输出对象):输出区域的轮廓
'border'(输入控制参数):轮廓生成模式(默认)
轮廓转区域gen_ region_contour_xld
算子:gen_region_contour_xld(Contour : Region : Mode : )
示例:gen_region_contour_xld (Contours1, Region7, 'filled')
Contours1(输入对象):输入轮廓对象
Region7(输出对象):输出轮廓转区域对象
'filled'(输入控制参数):区域生成模式默认)
将骨骼生成轮廓gen_contour_skeleton_xld
算子:gen_contours_skeleton_xld(Skeleton : Contours : Length, Mode : )
示例:gen_contours_skeleton_xld (Skeleton1, Contours2, 1, 'filter')
Skeleton1(输入对象):输入骨架对象
Contours2(输出对象):输出转为轮廓对象
1(输入控制参数1):输入提取的轮廓线包含的最小的点数
'filter'(输入控制参数2):输入过滤模式
使用边缘提取生成轮廓
阈值分割提取边缘 threshole_sub_pix
算子:threshold_sub_pix(Image : Border : Threshold : )
示例:threshold_sub_pix (Image15, Border, 128)
Image15(输入对象):输入灰度图像
Border(输出对象):输出提取边缘轮廓对象
128(输入控制参数):输入分界点的灰度值
基 于 亚 像 素 的 边 缘 提 取1 : edges_sub_pix
算子:edges_sub_pix(Image : Edges : Filter, Alpha, Low, High : )
示例:edges_sub_pix (Image15, Edges1, 'canny', 1, 20, 40)
Image15(输入对象):输入灰度图对象
Edges1(输出对象):输出提取后的轮廓对象
'canny'(输入控制参数1):滤波器(默认)
1(输入控制参数2):控制细节 值越大细节越少
20(输入控制参数3):控制轮廓的整体性 数值越大轮廓越散 不能大于参数4
40(输入控制参数4):控制轮廓的平整度数值越大筛选后的平整度越高
基 于 亚 像 素 的 边 缘 提 取2 :edges_color_sub_pix
算子:edges_color_sub_pix(Image : Edges : Filter, Alpha, Low, High : )
示例:edges_color_sub_pix (Image15, Edges2, 'canny', 1, 20, 40)
Image15(输入对象):输入灰度图像
Edges2(输出对象):输出提取的轮廓对象
'canny'(输入控制参数1):滤波器(默认)
1(输入控制参数2):控制细节 值越大细节越少
20(输入控制参数3):控制轮廓的整体性 数值越大轮廓越散 不能大于参数
40(输入控制参数4):控制轮廓的平整度数值越大筛选后的平整度越高
6.2XLD的特征值及筛选
特征直方图选取
单个测量或者选取(了解)
轮廓圆度:circularity_xld
算子:circularity_xld(XLD : : : Circularity)
示例:circularity_xld (Contours, Circularity)
Contours(输入对象):输入轮廓对象
Circularity(输出控制参数):输出轮廓的度数
轮廓长度:length_xld
算子:length_xld(XLD : : : Length)
示例:length_xld (Contours, Length)
Contours(输入对象):输入轮廓对象
Length(输出控制参数):输出轮廓的长度
轮廓重心中心及面积:area_center_xld
算子:area_center_xld(XLD : : : Area, Row, Column, PointOrder)
示例:area_center_xld (ContCircle, Area4, Row18, Column18, PointOrder2)
ContCircle(输入对象):输入轮廓对象
Area4(输出控制参数1):输出轮廓面积
Row18(输出控制参数2):输出轮廓的行坐标
Column18(输出控制参数3):输出轮廓的列坐标
PointOrder2(输出控制参数4):沿边界的点顺序(默认)
测量轮廓:smallest_circle_xld,smallest_rectangle1_xld,smallest_rectangle2_xld.
示例:smallest_rectangle1_xld (ContCircle, Row19, Column19, Row26,Column26)
ContCircle(输人对象):输出轮廓对象
Row19(输出控制参数):输出轮廓左上角的行坐标
Column19(输出控制参数):输出轮廓左上角的列坐标
Row26(输出控制参数):输出轮廓右下角的行坐标
Column26(输出控制参数):输出轮廓右下角的行坐标
标签:输出,XLD,xld,Halcon,控制参数,筛选,轮廓,gen,输入 From: https://www.cnblogs.com/ksjqsj/p/17361750.html