QQ登录

只需一步,快速开始

halcon gen_parallel_contour_xld函数介绍

[ 复制链接 ]
gen_parallel_contour_xld(Contours : ParallelContours : Mode, Distance : )
gen_parallel_contour_xld为每个输入轮廓Contours 计算一个距离为Distance 的平行行轮廓。
结果存储在ParallelContours 。
为了计算平行轮廓,需要在每一个轮廓点上取输入轮廓的法向量。
参数Mode决定了如何计算这些法向量。


如果Mode = 'gradient',则假设输入轮廓为边缘,
从边缘的梯度方向获取法线信息(见edges_sub_pix)。为此,输入轮廓必须存在属性'edge_direction'。


如果Mode = 'contour_normal',
则使用可能存在的normal信息来确定法线。为此,轮廓属性“angle”必须存在(参见lines_gauss或edges_sub_pix)。


最后,如果Mode = 'regression sion_normal',则从一个局部线到每个轮廓点的拟合确定法向量。
在这里,法向量的方向是这样的,当等高线从头到尾遍历时,法向量都指向等高线的右侧。
与前两种模式相比,这种模式可以用于所有的XLD轮廓,无论它们是如何生成的。


例程
dev_set_color ('red')
gen_image_const (Image, 'byte', 64, 64)
gen_circle (Circle, 32, 32, 16)
paint_region (Circle, Image, ImageCircle, 255, 'fill')
edges_sub_pix (ImageCircle, Edges, 'canny', 1.5, 20, 40)
gen_parallel_contour_xld (Edges, ParallelEdgesAngle, 'contour_normal', 3)
gen_parallel_contour_xld (Edges, ParallelEdgesGradient, 'gradient', -6)
gen_parallel_contour_xld (Edges, ParallelEdgesRegression, 'regression_normal', 9)
stop ()

gen_rectangle1 (Rectangle, 0, 0, 63, 31)
paint_region (Rectangle, Image, ImageRectangle, 255, 'fill')
edges_sub_pix (ImageRectangle, Edges, 'canny', 1.5, 20, 40)
gen_parallel_contour_xld (Edges, ParallelEdgesAngle, 'contour_normal', -3)
gen_parallel_contour_xld (Edges, ParallelEdgesGradient, 'gradient', -6)
gen_parallel_contour_xld (Edges, ParallelEdgesRegression, 'regression_normal', -9)

例程在不同模式下生成平行轮廓
  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索