基于Halcon的XLD(亚像素轮廓)转为Region(像素区域)的算法代码(不改变原有XLD线条结构,支持多轮廓同时转换,且保留原有的连通性和轮廓的排序)

关键词:Halcon;XLD(亚像素轮廓);Region(像素区域);线检测;边缘检测;机器视觉检测;图像处理

在机器视觉检测中,经常会涉及针对裂缝和划痕等的线检测需求(如图一),当采用Halcon进行编程检测时,常用的线检测(如lines_gauss算子)或者边缘检测方法(如edges_color_sub_pix算子),最终的输出结果(如图二)大多为XLD(亚像素轮廓)类型,但是大多的Blob分析等方法的算子所针对的变量类型多为Region。而Halcon中自带的XLD转Region算子(如gen_region_contour_xld算子)只能将其转换为封闭的区域(如图三)封闭的边界区域(如图四),改变了原有线条的结构,无法正常后续的形态分析。

因此,针对此项目实战中的常见需求,整理出自己编写的转换函数XLD_to_Region (Lines, OutRegion),在不改变原有XLD线条结构的条件下将其转换为Region类型,并且支持多轮廓同时转换,且保留原有的连通性和轮廓的排序,效果如图五所示。经联合编程,代码可嵌入C++、C#和Python等工程,且由于算法主要采用的形态学方法,运行效率较高,可适用于机器视觉在线检测项目。
在这里插入图片描述图一 裂缝原图
在这里插入图片描述图二 高斯线检测提取出的裂缝XLD轮廓线
在这里插入图片描述图三 Halcon中自带的XLD转Region算子效果(封闭的区域)

在这里插入图片描述图四 Halcon中自带的XLD转Region算子效果(封闭的边界区域)
在这里插入图片描述图五 自建的XLD_to_Region算子转换效果

程序源代码可在微信公众号【洞观科研】获取网盘链接下载。
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值