67.消除傅立叶域中的周期噪声-OpenCV从零开始到图像识别

本文作者:小嗷

微信公众号:aoxiaoji

链接:https://www.jianshu.com/u/45da1fbce7d0

在本篇中,您将学习:

在本篇中,您将学习如何消除傅立叶域中的周期噪声

本文你会找到以下问题的答案:

复习一下,以前的知识点罢了

2.1 前提(忘了请看回一下文章)

周期噪声在傅立叶域中产生峰值,通常可以通过视觉分析检测到。

参考文献:Rafael C Gonzalez and others. Digital image fundamentals, digital imaging processing. 1987.

2.2 如何去除傅立叶域中的周期噪声?

通过频域滤波可以显著降低周期噪声。我们使用带有适当半径的陷波抑制滤波器去处理傅里叶域中的噪声峰值。陷波滤波器在中心频率附近的预定义邻域内去处理我们需要排除的频率。

凹槽区域的形状也可以是任意的(例如矩形或圆形)。

本篇文章我们将使用三个圆形缺口拒绝过滤器。图像的功率谱密度用于噪声峰值的视觉检测。

以前都写过了,这里小嗷就不写了

源码如下

samples/cpp/tutorialcode/ImgProc/periodicnoiseremovingfilter/periodicnoiseremoving_filter.cpp

本篇文章的代码如下所示。

解释一下:

频域滤波周期性降噪包括功率谱密度计算(用于噪声尖峰视觉检测)、陷波抑制滤波合成和频率滤波:

函数calcPSD()计算图像的功率谱密度:

函数synzefilterh()根据中心频率和半径形成理想圆形缺口拒绝滤波器的传递函数:

函数filter2DFreq()在频域中对图像进行滤波。

函数fftshift()和filter2DFreq()请看回小嗷的第61-62篇文章,ths

下图显示了一幅被不同频率的周期性噪声严重损坏的图像。

大伙显而易见这里有明显的周期性噪声损坏的图像

噪声分量很容易被看作是功率谱密度中的亮点(尖峰),如下图所示。

功率谱密度显示周期性噪声

下图显示了一个notch reject 滤波器,它具有一个合适的半径来完全包围噪声尖峰。

notch reject 过滤器

利用陷波抑制滤波器对图像进行处理的结果如下所示。

这幅图像包含的可见周期噪声明显小于原始图像。

相关视频如下:

https://youtu.be/Qne51TcWwAc

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181206G0242Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券