Halcon滤波器sobel_amp算子

Halcon滤波器sobel_amp算子

Halcon 提供了大量的边缘滤波器,最常用的是Sobel滤波器。它是一种经典的边缘检测算子,速度和效率都非常令人满意。其在Halcon中对应的算子为sobel amp算子和sobel_dir算子,二者都是使用Sobel算子进行边缘检测。前者用于计算边缘的梯度,后者除了能表示梯度外,还能表示边缘的方向,本文主要介绍sobel_amp算子。
下面以一个简单的例子说明sobel_amp算子的用法。该例子输入的是一幅灰度值图像,读取图像后,使用sobel_amp算子进行边缘滤波。滤波类型参数选择sum_abs,以获得细节比较多的边缘;然后通过阈值处理选择符合梯度阈值的区域,提取出的区域宽度大于1个像素;最后使用skeleton算子将边缘框架显示出来,如图所示。
在这里插入图片描述
上述过程的实现代码如下:

read_image (Image,' data/flower')
rgbl_to_gray (Image, GrayImage)
sobel_amp (GrayImage,Amp,'sum_ abs',3)
threshold(Amp,Edg,100,255)
skeleton (Edg, Skeleton)
dev_clear_window ()
dev_display (Skeleton)

该例子使用sobel_amp算子对灰度图像进行了边缘检测,选择了sum_abs类型的滤波器,并将带有边缘梯度的图像 Amp 输出。第4行通过闽值处理去除一些非关键的轮廓点和线,第5行使用skeleton 提取区域的框架。由图可知,前景目标的轮廓基本都被提取出来了。
sobel_amp 算子是一种常用的边缘滤波器,该算子是一阶导数的边缘检测算子,使用一个卷积核对图像中的每个像素点做卷积运算,然后采用合适的阈值提取边缘。根据滤波器的不同,卷积核的运算方式也不同。该算子的原型如下:

sobel_amp (Image : EdgeAmplitude : FilterType, Size : )

其各参数含义如下。
参数1:Image为输入的图像,这里是单通道图像。
参数2:EdgeAmplitude 为输出参数,是带有边缘梯度的图像。
参数3:FilterType 为输入参数,表示卷积核或滤波器的类型。
参数4:Size 为输入参数,表示滤波器的尺寸。该参数值越大,得到的边缘线条会越粗,细节越少。这个值一般为单数,默认为3,也可以根据图像的检测需要选择合适的奇数。
这里的FilterType 是基于两种滤波器掩膜的,它决定了卷积的计算方式。假设两个卷积的滤波掩膜矩阵是A和B,其中
在这里插入图片描述
掩模矩阵可以理解为内核或者结构元素,A和B分别表示图像与两种波滤器掩膜进行卷积操作的结果。
FilterType 有几种可供选择的值,如sum_abs、sum_sqrt、sum_srt_binomial、thin_max_abs、thinsum_abs、x、y等。下面在代码中分别测试了几种不同类型的滤波器对同一图像进行边缘检测的结果,如图10.2所示。输入图像仍为图(a)所示的灰度图像。图(a)~(f)分别为sobel_amp 算子中的FilterType 参数值为sum_abs、thin_sum_abs、thin_max_abs、sum_sqrt、x、y时的计算结果。
在这里插入图片描述
上面这几种计算结果是在掩膜尺寸为3的情况下得到的。对于较大尺寸的滤波器,需要使用二项式滤波器对输入图像进行平滑处理。如果size为5、7、9、11等尺寸,则要在上述filter后面加上binomial来选择二项式滤波器,如sum_abs_binomial、sum_sqrt_binomial、thin_max_abs binomial、 thin_sum_abs _binomial、 x_binomial、 y_binomial等。注意,在边缘检测中可以通过创建感兴趣区域来缩小处理区域的范围,以加快检测速度。

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

electrical1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值