1、union_collinear_contours_xld
是 Halcon 中用于处理 XLD(eXtended Line Descriptor)轮廓的函数。这个函数的主要目的是合并那些在特定条件下共线的轮廓,通常用于图像处理中的边缘检测和形状分析。
参数列表
- Contours (input_object):输入的 XLD 轮廓。
- UnionContours (output_object):合并后的输出轮廓。
- MaxDistAbs (input_control):沿参考轮廓的回归线测量两个轮廓之间的最大间隙长度(间隙在参考轮廓拟合直线上的投影)。
- MaxDistRel (input_control):间隙在参考轮廓拟合直线上的投影长度与参考轮廓长度的比值上限。
- MaxShift (input_control):第二个轮廓与参考轮廓拟合直线的最大距离。
- MaxAngle (input_control):两个轮廓拟合直线之间的角度上限(0.0 ≤ MaxAngle ≤ 0.78539816339,即45度)。
- Mode (input_control):定义轮廓属性处理的模式,即是否保留或丢弃轮廓属性
参数详解
- MaxDistAbs 决定了两个轮廓绝对距离的上限,这个距离是两个轮廓直线间隙在参考轮廓拟合直线上的投影的长度。
- MaxDistRel 决定了两个轮廓相对距离的上限,相对距离由绝对距离除以参考轮廓长度计算得出。
- MaxShift 决定了第二个轮廓距离参考轮廓拟合直线最大距离的上限,此距离是垂直于参考轮廓的拟合直线测量的。
- MaxAngle 决定了两个轮廓的拟合直线之间角度的上限。
模式(Mode)
- 'attr_keep':所有属性都复制到输出轮廓。全局属性仅保留在那些未与其他轮廓合并的轮廓上。(可以使用query_contour_attribs_xld查看轮廓属性)
- 'attr_forget':输出轮廓将不包含任何属性。如果不需要这些属性进行进一步计算,可以选择此模式以提高性能。
2、union_adjacent_contours_xld
是 Halcon 中用于合并相邻轮廓的算子。这个算子会将输入的 XLD(扩展线描述)轮廓数组中,端点相近的轮廓合并。
参数列表
- Contours (input_object):输入的 XLD 轮廓数组。
- UnionContours (output_object):合并后的输出轮廓数组。
- MaxDistAbs (input_control):两个轮廓端点间的最小距离控制参数,这个距离是沿着参考轮廓的回归线测量的,即两个轮廓之间间隙在参考轮廓拟合直线上的投影长度。
- MaxDistRel (input_control):两个轮廓端点间的最小距离与最长轮廓长度的比值控制参数。
- Mode (input_control):定义轮廓属性处理的模式,即是否保留或丢弃轮廓属性