【halcon】halcon 区域到轮廓转换(两种方式对比)

背景

什么情况下,需要将区域变换成轮廓,有啥好处?
1 轮廓是基于亚像素的,能提供更佳的精度。而区域最小也是一个像素。

2 轮廓可以认为是线条(其实是一些列的点),线条是一维的,而区域是二维的。
一维,有自己的特征,有时我们会借助这些特征,这些特征往往在二维上体现不明显。
比如:轮廓的长度,轮廓的曲度,轮廓闭合度

综上所诉,我们有时需要将区域变换成轮廓!

区域到轮廓转换相关函数

比如,我想找划痕,一开始我用lines_gauss效果很好,但是lines_gauss这个函数非常耗时,而且如果图片太大,会消耗大量内存且无法释放!(还没找到原因,后续找到原因后再分享一下)。
所以,我放弃了lines_gauss。

我先通过动态阈值找到比较黑的地方,划痕的特点是又细又长。所以我的思路是将区域转换成轮廓,再进行挑选。

gen_contour_region_xld

比如,这样一个区域:在这里插入图片描述
我想将其变成线,应该怎么做?
首先,我通过 gen_contour_region_xld 得到效果:

 

猜你喜欢

转载自blog.csdn.net/songhuangong123/article/details/134726005