1.高通滤波器


       首先,对一副图像进行如下二维傅里叶变换。


陷波器 python_陷波器 python


我们将u=0和v=0带上式,我们可以得到如下式子。


陷波器 python_去噪_02


根据上式,可以到F(0,0)的值是非常大的。这里,我们将  F(0,0)称为直流分量,直流分量比其他的成分要大好几个数量级。所以,这也就是傅里叶谱为什么需要使用对数变换才能看清楚的原因。


       这里,对于高通滤波器而言,由于直流分量被衰减,所以,所得到的图像的动态范围是非常狭窄的,也就造成了图像偏灰。进一步而言,保持直流(DC)分量,对别的部分进行增幅,可以增强图像的细节。这样的滤波器称为锐化滤波器。这一小节主要介绍高通滤波器与锐化滤波器。


        1.1理想高通滤波器


        

陷波器 python_陷波器 python_03


        这里的D0是滤波器的阻带半径,而D(u,v)是点到滤波器中央的距离。理想高通的滤波器的振幅特性如下所示。


陷波器 python_高通滤波_04


用这个滤波器对图像进行处理,可得到如下所示的结果。我们可以看到,与理想的低通滤波器一样,所得到的图像有很明显的振铃现象。结果图像从视觉上来看,有些偏暗,这是因为图像的直流分量被滤掉的原因。


陷波器 python_高通滤波_05




       1.2巴特沃斯高通滤波器




陷波器 python_高通滤波_06


       同样的,巴特沃斯高通滤波器也可以通过改变次数n,对过度特性进行调整。过大的n会造成振铃现象。


陷波器 python_低通滤波器_07


陷波器 python_高通滤波_08


       1.3高斯高通滤波器



陷波器 python_陷波器 python_09


       高斯滤波器的过度特性很好,所以不会发生振铃现象。


陷波器 python_去噪_10


陷波器 python_低通滤波器_11


       1.4 上述三种滤波器的实现Matlab代码


 


       1.5 锐化滤波器


       按照之前所说的,锐化滤波器是将傅里叶谱的直流分量保留,然后将其余的成分增幅。使用锐化滤波器,可以对图像的细节进行增强,使得细节凸显出来。锐化滤波器的表达式如下所示。


陷波器 python_高通滤波_12


      其实上式的目的很明显,就是先将原图的傅里叶  谱

陷波器 python_高通滤波_13

保留下来,然后叠加上高通滤波器的结果

陷波器 python_高通滤波_14

,所得到的图像就是锐化后的图像了。这里为了调整锐化程度,引入了两个变量

陷波器 python_去噪_15


陷波器 python_高通滤波_16


陷波器 python_去噪_15

可以调整直流分量的衰减程度,

陷波器 python_高通滤波_16

可以调整高频分量的增幅程度。

陷波器 python_高通滤波_19

陷波器 python_陷波器 python_20


 


       下面是代码。


 


       2.带阻滤波器


       同样的,带阻滤波器也有三种特性。高斯、巴特沃斯和理想,三种类型,其数学表达式如下所示。


陷波器 python_低通滤波器_21


       其带通滤波器可以使用上面的表格转化而得。


陷波器 python_高通滤波_22


       带阻滤波器可以用于去除周期性噪声,为了体现带阻滤波器的特性,我们先对一幅图像增加很严重的噪声。


陷波器 python_去噪_23


陷波器 python_陷波器 python_24


 


 


       在原图的傅里叶谱上添加了几个很明显的亮点。在对其做IDFT,可以看到,原图被严重的周期噪声污染了。此时,我们可以使用带阻滤波器,可以有很好的去噪效果。为了避免振铃现象,选择使用如下所示巴特沃斯带阻滤波器,所用滤波器的次数为2次。使用空间域的操作,要去除这种噪声基本是不可能的,这也是频域内的操作的优点。


陷波器 python_高通滤波_25


  

陷波器 python_高通滤波_26


 


       3.陷波滤波器(Notch Filter)


带阻滤波器对噪声以外的成分也有衰减。而陷波滤波器主要对,某个点进行衰减,对其余的成分不损失。使用下图将更容易理解。


陷波器 python_高通滤波_27


(这里我用红圈标注出来了,他们不是数据的一部分)。我们如果使用带阻滤波器的话,是非常麻烦的,也会使得图像有损失。陷波滤波器,能够直接对噪声处进行衰减,可以有很好的去噪效果。


       其表达式如下所示,陷波滤波器可以通过对高通滤波器的中心,进行位移就可以得到了。


陷波器 python_去噪_28


这里,由于傅里叶的周期性,傅里叶频谱上不可能单独存在一个点的噪声,必定是关于远点对称的一个噪声对。这里的

陷波器 python_低通滤波器_29


陷波器 python_去噪_30

需要去除的噪声点,其求取的方式如下所示。

陷波器 python_陷波器 python_31


       针对于上图,我们设计如下滤波器,去进行去噪。


陷波器 python_去噪_32


(图片下标错了,后续更新改过来!)


       所得到的结果,如下所示。噪声已经被去除了,画质得到了很大的改善。


陷波器 python_低通滤波器_33