halcon机器视觉实例2--表面划痕检测fft

前言

此文针对《halcon机器视觉实例1》中遗留问题的进阶。
照例不喜欢贴代码,而是阐述见解。
本文还是以官方例程为例--find_scratches_bandpass_fft。
其实就是通过快速傅里叶变换来检测划痕。

正文

先前是通过均值滤波+动态阈值分割提取的特征。
其实就是通过灰度值平均后,与原图的比较来凸显特征。
这种方式其实对噪声的去除效果有限。对比如下:

第一张图是非fft的,第二张是fft。可以清楚的看到–fft对噪声的去除效果提升显著。
对于快速傅里叶变换–fft,本文不做展开。本文仅说下该例程中通过fft提取表面划痕的见解。
在这里插入图片描述
在这里插入图片描述
先说完本例的检测过程。
在用fft获取到上述图像后,通过形态学–选择面积,拿到了划痕区域。接着是通过膨胀扩张划痕区域,最后通过line_gauss算子去标出图像中的连线区域,再通过一系列形态选择最终得到划痕区域。
在这里插入图片描述

如果仅仅从最后的效果来看,其实本例中两种方式得出的结果差别不大。fft最终是取得了更好的效果的。但是,我们应该看到本例中决定效果的重要指标–是那几处不清晰的划痕,因为大划痕实在是太好检测了。这时候我们就该思考–是什么导致了两种检测方法在这几处不清晰划痕上的效果差别。
举最下面那条划痕为例,本例的fft方法能将其检测出来,其实也是很极限的。在形态学查找–选择面积大小时,这条划痕上的断点的特征其实和噪声的特征很接近了。这一点其实看上文中的第二张图就一目了然的。图像处理后,能否提取到特征,其实眼睛才是第一判断。你一目了然就能看到划痕了,那自然就很好提取,反之则不然。

小结

这两个例子在官方例程中都有,很好找。
这两个例子表明了,频域分析在提取特征时的优势。尤其是模糊特征。
在这过程中,噪声去除涉及滤波。本例是用了一个正弦带通滤波器。我目前对其的理解是–滤除那些高频和低频分量。滤除高频是为了去除噪点,滤除低频是为了凸显特征。当然,滤波器的参数也是需要调整的。过于凸显低频,那模糊的划痕就会被忽略了,因为高频特征根本无法被提取出来。过于凸显高频,那噪点就去不掉。最后结尾来两幅图,第一幅是凸显低频的,也就是好多高频被滤掉了,可以看出来获取到的特征很少。第二幅是凸显高频的,可以看到获取到了过多的特征,噪点增多了。所以,需要根据实际情况调参。
最最后,谈下我目前对数字图像fft后应用带通滤波器的理解。带通并不是凸显低频就只让低频过高频不让过,因为下图中很明显的–凸显低频后就剩下对比最强烈的噪声了。所以,我认为这里所谓的带通应该是权重的概念。就是说–凸显低频,那高频的权重就低了,那次一级的高频分量就会被滤掉,只有那些很强烈的高频分量,即便被赋予了低权重,依旧能提取出来。而凸显高频,则高频分量的权重就高了,那更多的高频分量就会被提取,噪声随之而来。
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值