QQ登录

只需一步,快速开始

halcon gen_contours_skeleton_xld函数介绍

[ 复制链接 ]
gen_contours_skeleton_xld(Skeleton : Contours : Length, Mode : )
gen_contours_skeleton_xld将输入骨架(例如边)转换成XLD轮廓,
该骨架被认为包含一个像素宽的区域(参见 函数skeleton)。


该算法首先尝试将区域转换为只包含8个邻域中的线段。
在第二步中,标记连接点。
之后,gen_contours_skeleton_xld尝试生成以结点或端点结束的轮廓线,
特别是以下配置的结点(在所有四种可能的旋转中):


2019-05-18_191909.jpg
其中0 =背景,1 =前景,2 =连接点。


然后,返回所有具有至少Length个点的轮廓线。
由于轮廓线是在交点处分割的,
如果选择Mode = 'filter',由于相邻线较短,长轮廓线可能被分割成几个短的,即使它们比Length长。
这可以通过设置Mode = 'generalize1'来避免。
在这种情况下,生成的轮廓就像输入区域中不包含比Length短的段一样。
为了保存线段,Mode = 'generalize2'可以选择
在这种情况下,如果线段以两个连接点结束,
即使它们比Length短,线段也会被保留。


例程
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 140, 255)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 25000, 100000)
skeleton (SelectedRegions, Skeleton)
gen_contours_skeleton_xld (Skeleton, Contours, 100, 'filter')

例程简单读取图像,提取区域,生成区域的骨架。
然后通过骨架生成一些LXD轮廓。
  

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

  

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



回复

使用道具 举报

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