Halcon轮廓的生成最常用的是edges_sub_pix算子,在该算子中可以选择不同的滤波器类型,最常见的滤波器有canny和lanser2。
如果输入图像是多通道的彩色图像,可以选择edges_color_sub_pix算子,其与edges_sub_piy算子类似,也推荐选择sobel fast 滤波器,用于快速地提取边缘。
最常用的线条提取方法是 lines gauss,它具有很强的鲁棒性;也可以通过指定ExtractWidth参数提取出线条的宽度等多种特征。线条的宽度越宽,其Sigma参数的取值也应当越大。
与提取边缘类似,提取线条也有一个对应于彩色图像的算子,即lines_color算子,用于处理输入图像为多通道图像的线条提取。
这些边缘或者线条提取算子输出的除了XLD轮廓之外,还会返回一些表示属性的特征值。这些属性特征与轮廓的整体或者其控制节点密切相关。可以使用gen_contour_attrib_xld算子或者gen_contour_global attrib xld算子通过属性名称访问轮廓的某个属性,这些属性一般是以Tuple数组形式存放的。典型的属性有关于边缘的属性,如梯度和方向;关于线条的属性,如线宽等。还可以使用query_contour_attrib_xld算子或者query_contour_global_attrib_xld算子对给定的轮廓进行属性查询。