工控编程吧

标题: halcon gen_region_contour_xld函数介绍 [打印本页]

作者: qq263946146    时间: 2019-5-12 00:10
标题: halcon gen_region_contour_xld函数介绍
gen_region_contour_xld(Contour : Region : Mode : )
函数从输入的轮廓Contour 生成对应的区域Region.
轮廓线根据Bresenham算法进行采样,并受算子set_system的参数“邻域”的影响。


未闭合的轮廓线在转换为区域之前执行闭合。
最后,参数Mode 定义区域是被填充(“filled”)还是由其轮廓(“margin”)返回。


请注意,在转换过程中,等高线点的坐标四舍五入为其最近的整数像素坐标。
当将操作符gen_contour_region_xld得到的轮廓传递给gen_region_contour_xld时,
可能会产生意想不到的结果:


当 gen_contour_region_xld的模式设置为border,
gen_contour_region_xld的输入区域与gen_region_contour_xld的输出区域不同。


例如,让我们假设gen_contour_region_xld的输入区域由单个像素(1,1)组成。
然后,当调用模式设置为“border”的gen_contour_region_xld时,
得到的轮廓由五个点(0.5、0.5)、(0.5、1.5)、(1.5、1.5)、(1.5、0.5)和(0.5、0.5)组成。
因此,当再次将这个轮廓传递给gen_region_contour_xld时,得到的区域由点(1,1)、(1,2)、(2,2)和(2,1)组成。


Contour为输入的轮廓,
Region为输出的区域。
Mode为控制模式,有 'filled', 'margin'


例程
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Regions, 140, 255)
connection (Regions, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 20000, 100000)
gen_contour_region_xld (SelectedRegions, Contours, 'border')
select_obj (Contours, ObjectSelected, 1)
gen_region_contour_xld (ObjectSelected, Region, 'filled')


[halcon]1[/halcon]









欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4