Halcon对象之间一般可以转化为"gen_目标对象_原对象"形式,例如:
gen_region_contour_xld(根据xld轮廓创建一个区域region)
gen_contour_region_xld(根据region区域创建一个xld轮廓)
gen_contour_region_xld
用于根据区域生成XLD轮廓。它可以从给定的区域中生成封闭的边界轮廓。该算子的 Mode
参数可以取以下几种值:
(1)'center'
:使用边界像素的中心作为轮廓点。
(2)
'border'
:使用边界像素的外边界作为轮廓点。
(3)'border_holes'
:除了输入区域的外边界,还可以得到所有孔洞的轮廓。 这个算子对于将区域边界转换为XLD轮廓非常有用,尤其是在需要进行更高层次操作(如多边形近似和平行线提取)时。
gen_region_contour_xld
用于从XLD轮廓创建区域。这个算子将轮廓采样并转换为区域,可以是填充的区域或仅由轮廓定义的区域。这个过程会将轮廓点的坐标四舍五入到最近的整数像素坐标
segment_contours_xld
用于将XLD轮廓分割成直线段、圆弧或椭圆弧。这个算子首先通过多边形近似来过度分割轮廓,然后在曲线区域中分割轮廓。Mode
参数可以取以下几种值:
'lines'
:将轮廓分割成直线段。'lines_circles'
:将轮廓分割成直线段和圆弧。'lines_ellipses'
:将轮廓分割成直线段和椭圆弧。SmoothCont
参数用于平滑轮廓,以抑制过短的线段。MaxLineDist1
和MaxLineDist2
参数用于控制轮廓逼近的精度