变换
平滑轮廓:smooth_contours
算子:smooth_contours_xld(Contours : SmoothedContours : NumRegrPoints : )
示例:smooth_contours_xld (Border, SmoothedContours, 11)
Border(输入对象):输入轮廓对象
SmoothedContours(输出对象):输出平滑后的轮廓
11(输入控制参数):数值越大越平滑
形状变换:shape_trans_xld
算子:shape_trans_xld(XLD : XLDTrans : Type : )
示例:shape_trans_xld (ContCircle, XLDTrans, 'rectangle1')
ContCircle(输入对象):输入轮廓对象
XLDTrans(输出对象):输出变形后的轮廓
'rectangle1'(输入控制参数):输入需要变形的类型
注意:区域圆变形为椭圆 结果还是圆 轮廓圆变形为椭圆 结果是点
封闭轮廓:close_contours_xld
算子:close_contours_xld(Contours : ClosedContours : : )
示例:close_contours_xld (Contours, ClosedContours)
Contours(输入对象):输入轮廓对象
ClosedContours(输出对象):输出封闭后的轮廓对象
对轮廓排序:sort_contours_xld
算子:sort_contours_xld(Contours : SortedContours : SortMode, Order, RowOrCol : )
示例:sort_contours_xld (ContoursSplit, SortedContours, 'upper_left', 'true', 'column')
ContoursSplit(输入对象):输入包含多个轮廓的对象
SortedContours(输出对象):输出排序轮廓对象
'upper_left'(输入控制参数1):排序方法
'true'(输入控制参数2):升序true或者是降序false
'column'(输入控制参数3):按照行或者列排序
分割
按直线和圆弧的特性分割轮廓:segment_contours_xld
算子:segment_contours_xld(Contours : ContoursSplit : Mode, SmoothCont, MaxLineDist1, MaxLineDist2 : )
示例:segment_contours_xld (Contours1, ContoursSplit, 'lines_circles', 5, 4, 2)
Contours1(输入对象):输入轮廓对象
ContoursSplit(输出对象):输出分割后的对象
'lines_circles'(输入控制参数1):输入分割类型
5(输入控制参数2):控制轮廓分割的细节 数值越大 分割的线段越多
4(输入控制参数3):与轮廓拟合参数一 参数越大有角度的轮廓合并的越多
2(输入控制参数4):与轮廓拟合参数二 对参数三进行补充
合并
合并端点临近的轮廓:union_adjacent_contours_xld
算子:union_adjacent_contours_xld(Contours : UnionContours : MaxDistAbs, MaxDistRel, Mode : )
示例:union_adjacent_contours_xld (ContoursSplit, UnionContours, 10, 1, 'attr_keep')
ContoursSplit(输入对象):输入轮廓对象
UnionContours(输出对象):输出合并的轮廓对象
10(输入控制参数1):两个轮廓端点间的最小距离控制参数
1(输入控制参数2):两个轮廓端点间的最小距离与最长轮廓长度的比值控制参数
'attr_keep'(输入控制参数3):定义轮廓属性处理的模式,即,是否保留或丢弃轮廓属性(默认)
合并位于同一条直线上的轮廓:union_collinear_contours_xld
资料扩展:https://blog.csdn.net/qq_18620653/article/details/105518295
算子:union_collinear_contours_xld(Contours : UnionContours : MaxDistAbs, MaxDistRel, MaxShift, MaxAngle, Mode : )
示例:union_collinear_contours_xld (Contours3, UnionContours1, 10, 1, 2, 0.1, 'attr_keep')
Contours3(输入对象):输入轮廓对象
UnionContours1(输出对象):输出合并的轮廓对象
10(输入控制参数1):测量两个轮廓之间的最大间隙长度
1(输入控制参数2):间隙在参考轮廓拟合直线上的投影长度与参考轮廓长度的比值上限
2(输入控制参数3):第二个轮廓与参考轮廓拟合直线的最大距离
0.1(输入控制参数4):两个轮廓拟合直线的角度
'attr_keep'(输入控制参数5):定义轮廓属性处理的模式,即,是否保留或丢弃轮廓属性(默认)
合并属于同一个圆上的轮廓:union_cocircular_contours_xld
扩展资料:halcon union_cocircular_contours_xld函数介绍_上位机 (gkbc8.com)
算子:union_cocircular_contours_xld(Contours : UnionContours : MaxArcAngleDiff, MaxArcOverlap, MaxTangentAngle, MaxDist, MaxRadiusDiff, MaxCenterDist,MergeSmallContours, Iterations : )
示例:union_cocircular_contours_xld (Contours5, UnionContours2, Phi4, Phi4, Phi4, 30, 10, 10, 'true', 1)
Contours5(输入对象):输入轮廓对象
UnionContours2(输出对象):输出合并的轮廓对象
Phi4(输入控制参数1):轮廓的端点(默认)
Phi4(输入控制参数2):轮廓可能重叠的最大角度(默认)
Phi4(输入控制参数3):圆切线与两条等值线连接线之间的最大夹角(默认)
30(输入控制参数4):两条轮廓线的端点和起点的最大绝对距离(默认)
10(输入控制参数5):拟合到轮廓上的圆的半径的最大绝对值差(默认)
10(输入控制参数6):圆中心欧氏距离的极限(默认)
'true'(输入控制参数7):设置为“true”,那么没有拟合圆的等值线也会被合并(默认)
1(输入控制参数8):轮廓线的合并产生了新的圆参数(默认)
拟合
根据圆弧拟合为圆 fit_circle_contour_xld (circles.hdev)
扩展资料:https://www.cnblogs.com/liming19680104/p/16023466.html
算子:fit_circle_contour_xld(Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor : Row, Column, Radius, StartPhi,EndPhi, PointOrder)
示例:fit_circle_contour_xld (Edges, 'algebraic', -1, 0, 0, 3, 2, Row20, Column20, Radius5, StartPhi1, EndPhi1, PointOrder3)
Edges(输入对象):输入圆弧轮廓对象
'algebraic',(输入控制参数1):圆的拟合算法(默认)
-1(输入控制参数2): 默认值
0(输入控制参数3): 默认值
0(输入控制参数4):默认值
3(输入控制参数5):默认值
2(输入控制参数6):默认值
Row20(输出控制参数1):输出圆中心的行坐标
Column20(输出控制参数2):输出圆中心的列坐标
Radius5(输出控制参数3):输出圆的半径
StartPhi(输出控制参数4):输出起点角度
EndPhi(输出控制参数5):输出终点角度
PointOrder3(输出控制参数6):输出沿边界的点顺序
生成圆的轮廓
算子:gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : )
示例:gen_circle_contour_xld (ContCircle2, Row20, Column20, Radius5, 0, 6.28318, 'positive', 1)
ContCircle2(输出对象):输出拟合圆轮廓对象
Row20(输入控制参数1):输出圆中心的行坐标(默认)
Column20(输入控制参数2):输出圆中心的列坐标(默认)
Radius5(输入控制参数3):输出圆的半径(默认)
0(输入控制参数4):输出起点角度(默认)
3.28318(输入控制参数5):输出终点角度(默认)
'positive'(输入控制参数6):输出沿边界的点顺序(默认)
1(输入控制参数7):输出相邻轮廓点的距离(默认)
根据轮廓拟合为圆
1.创建测量句柄:create_metrology_model
算子:create_metrology_model( : : : MetrologyHandle)
示例:create_metrology_model (MetrologyHandle)
MetrologyHandle(输出控制参数):输出创建的测量模型句柄
2.添加模型:add_metrology_object_generic
资源扩展:https://blog.csdn.net/cashmood/article/details/99758714
算子:add_metrology_object_generic( : : MetrologyHandle, Shape, ShapeParam, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName,GenParamValue : Index)
示例:add_metrology_object_generic (MetrologyHandle, 'circle', cir, 20, 5, 1, 30, [], [], Index)
MetrologyHandle(输入控制参数):输入创建的测量模型句柄
'circle', (输入控制参数1) :要添加的计量对象的类型
Cir(输入控制参数2):要添加的计量对象的参数
20(输入控制参数3):垂直于边界的测量区域的一半长度(默认)
5. (输入控制参数4):与边界相切的测量区域的一半长度(默认)
1(输入控制参数5):与边界相切的测量区域的一半长度(默认)
30(输入控制参数6):最小边缘幅度(默认)
[](输入控制参数7):通用参数的名称(默认)
[](输入控制参数8):通用参数的名称(默认)Index(输出控制参数):创建的计量对象的索引(默认)
3.确定边缘位置:apply_metrology_model
算子:apply_metrology_model(Image : : MetrologyHandle : )
示例:apply_metrology_model (Image, MetrologyHandle)
Image(输入对象):输入图像
MetrologyHandle(输出对象):输出测量模型句柄
4. 获取测量位置结果:get_metrology_object_measures
扩展资料:https://blog.csdn.net/cashmood/article/details/99760742
算子:get_metrology_object_measures( : Contours : MetrologyHandle, Index, Transition : Row, Column)
示例:get_metrology_object_measures (Contours, MetrologyHandle, 'all', 'all', Row, Column)
Contours(输出对象):输出测量区域的矩形XLD轮廓
MetrologyHandle(输入控制参数1):测量模型句柄
'all'(输入控制参数2):测量对象的索引
'all'(输入控制参数3):选择浅色/深色或深色/浅色边缘
Row(输出控制参数1):测量边缘的行坐标
Column(输出控制参数2):测量边缘的列坐标
5. 返回测量结果:get_metrology_object_result
资料扩展:https://blog.csdn.net/cashmood/article/details/99759546
算子:get_metrology_object_result( : : MetrologyHandle, Index, Instance, GenParamName, GenParamValue : Parameter)
示例:get_metrology_object_result (MetrologyHandle, 'all', 'all', 'result_type', 'all_param', Parameter)
MetrologyHandle(输入控制参数):测量模型句柄
'all'(输入控制参数1):测量对象的索引
'all'(输入控制参数2):测量对象的实例
'result_type'(输入控制参数3):通用参数的名称
'all_param'(输入控制参数4):泛型参数的值
Parameter(输出控制参数):结果值
6.清除测量句柄
算子:clear_metrology_model( : : MetrologyHandle : )
示例:clear_metrology_model (MetrologyHandle)
MetrologyHandle(输入控制参数):测量模型句柄
根据点拟合为圆:gen_circle_contour_xld
扩展资料:https://blog.csdn.net/cashmood/article/details/99757034
算子:gen_circle_contour_xld( : ContCircle : Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution : )
示例:gen_circle_contour_xld (ContCircle, Parameter[0], Parameter[1], Parameter[2], 0, 6.28318, 'positive', 1)
ContCircle(输出对象):产生的轮廓
Parameter[0] (输入控制参数1):圆心或圆弧的中心的行坐标
Parameter[1] (输入控制参数2):圆心或圆弧的圆柱坐标
Parameter[2] (输入控制参数3):圆弧或圆弧的半径
0(输入控制参数):圆弧或圆弧的半径(默认)
6.28318(输入控制参数4):圆弧或圆弧[rad]的终点角度(默认)
'positive'(输入控制参数5):沿圆或圆弧的点顺序(默认)
1(输入控制参数6):相邻轮廓点之间的距离(默认).
拟合为直线
1.创建测量的模型句柄:create_metrology_model
算子:create_metrology_model( : : : MetrologyHandle)
示例:create_metrology_model (MetrologyHandle)
MetrologyHandle(输出控制参数):测量模型句柄
2.添加拟合数据:add_metrology_object_generic
算子:add_metrology_object_generic( : : MetrologyHandle, Shape, ShapeParam, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName,GenParamValue : Index)
示例:add_metrology_object_generic (MetrologyHandle, 'line', [r,r1], 20, 5, 1, 30, [], [], Index)
MetrologyHandle(输入控制参数):输入创建的测量模型句柄
'circle', (输入控制参数1) :要添加的计量对象的类型
Cir(输入控制参数2):要添加的计量对象的参数
20(输入控制参数3):垂直于边界的测量区域的一半长度(默认)
5. (输入控制参数4):与边界相切的测量区域的一半长度(默认)
1(输入控制参数5):与边界相切的测量区域的一半长度(默认)
30(输入控制参数6):最小边缘幅度(默认)
[](输入控制参数7):通用参数的名称(默认)
[](输入控制参数8):通用参数的名称(默认)
Index(输出控制参数):创建的计量对象的索引(默认)
3.添加卡尺测量:get_metrology_object_measures
算子:get_metrology_object_measures( : Contours : MetrologyHandle, Index, Transition : Row, Column)
示例:get_metrology_object_measures (Contours, MetrologyHandle, 'all', 'all', Row, Column)
Contours(输出对象):输出测量区域的矩形XLD轮廓
MetrologyHandle(输入控制参数1):测量模型句柄
'all'(输入控制参数2):测量对象的索引
'all'(输入控制参数3):选择浅色/深色或深色/浅色边缘
Row(输出控制参数1):测量边缘的行坐标
Column(输出控制参数2):测量边缘的列坐标
4.根据返回的点拟合为直线:gen_region_line
扩展资料:https://blog.51cto.com/u_11531789/5118402
算子:gen_region_line( : RegionLines : BeginRow, BeginCol, EndRow, EndCol : )
示例:gen_region_line (RegionLines1, Parameter[0], Parameter[1], Parameter[2], Parameter[3])
RegionLines1(输出对象):输出直线区域
Parameter[0] (输入控制参数1):起始点行坐标
Parameter[1] (输入控制参数2):起始点列坐标
Parameter[2] (输入控制参数3):终点行坐标
Parameter[3] (输入控制参数4):终点列坐标
5.清除模型句柄:clear_metrology_model
算子:clear_metrology_model( : : MetrologyHandle : )
示例:clear_metrology_model (MetrologyHandle)
MetrologyHandle(输入控制参数):测量模型句柄
拟合为矩形 2 fit_rectangle2_contour_xld (fit_rectangle2_contour_xld.hdev, measure_chip.hdev)
资源扩展:https://blog.51cto.com/u_11531789/5272983
算子:fit_rectangle2_contour_xld(Contours : : Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor : Row, Column, Phi, Length1,Length2, PointOrder)
示例:fit_rectangle2_contour_xld (RectangleEdges, 'tukey', -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)
RectangleEdges(输入对象):输入轮廓
'tukey'(输入控制参数1):拟合矩形的算法
-1(输入控制参数2):用于计算的轮廓点的最大数量
0(输入控制参数3):轮廓端点之间的最大距离被视为“闭合”
0(输入控制参数4):拟合要忽略的轮廓起点和终点的点数
3(输入控制参数5):最大迭代次数
2(输入控制参数6):默认值
Row(输出控制参数1):矩形中心的行坐标
Column(输出控制参数2):矩形中心的列坐标
Phi(输出控制参数3):基于水平的角度值 矩形主轴的方向(弧度)
Length1(输出控制参数4):矩形的第一个半径(长度的一半)
Length2(输出控制参数5):矩形的第二个半径(半宽度
PointOrder(输出控制参数6):沿边界的点顺序
标签:输出,轮廓,MetrologyHandle,xld,Halcon,控制参数,拟合,矩形,输入 From: https://www.cnblogs.com/ksjqsj/p/17366658.html