工控编程吧
标题:
halcon gen_parallel_contour_xld函数介绍
[打印本页]
作者:
qq263946146
时间:
2019-5-19 22:43
标题:
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]1[/halcon]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4