理想低通滤波器、Butterworth滤波器和高斯滤波器(matlab)1
一、簡介
我們知道,在一幅圖像中,其低頻成分對應(yīng)者圖像變化緩慢的部分,對應(yīng)著圖像大致的相貌和輪廓。而其高頻成分則對應(yīng)著圖像變化劇烈的部分,對應(yīng)著圖像的細(xì)節(jié)(圖像的噪聲也屬于高頻成分)。
低頻濾波器,顧名思義,就是過濾掉或者大幅度衰減圖像的高頻成分,讓圖像的低頻成分通過。低頻濾波器可以平滑圖像,慮去圖像的噪聲。而與此相反的高頻濾波器,則是過濾低頻成分,通過高頻成分,可以達(dá)到銳化圖像的目的。
理想低通濾波器的濾波非常尖銳,而高斯低通濾波器的濾波則非常平滑。Butterworth低通濾波器則介于兩者之間,當(dāng)Butterworth低通濾波器的階數(shù)較高時(shí),接近于理想低通濾波器,階數(shù)較低時(shí),則接近于高斯低通濾波器。
下面我們所說的都是對應(yīng)于二維圖像處理的情況。
二、這三種濾波器的相關(guān)介紹
在這三種低通濾波器的表達(dá)式中,我們都用D0來表示其截止頻率。D(u, v)表示距離頻率矩形中心的距離。
我并沒有說明振鈴現(xiàn)象產(chǎn)生的原因,只是說明了什么情況下振鈴現(xiàn)象較為明顯。
1. 理想低通濾波器(ILPF)
理想低通濾波器在以原點(diǎn)為圓心、D0為半徑的園內(nèi),通過所有的頻率,而在圓外截?cái)嗨械念l率。(圓心的頻率最低,為變換的直流(dc)分量)。函數(shù)如下:
可以看出,理想低通濾波器的過渡非常急劇,會產(chǎn)生振鈴現(xiàn)象。
2. Butterworth低通濾波器
函數(shù)表達(dá)式如下(在有些書中,Butterworth的函數(shù)的平方才等于右邊的表達(dá)式,在這里我們按照課本的寫法,計(jì)算較為方便),其中n稱為Butterworth低通濾波器的階數(shù):
從濾波器的函數(shù)圖中,我們可以看出其過渡沒有理想低通濾波器那么劇烈,從圖(c)中可以看出,階數(shù)越高,濾波器的過度越劇烈,振鈴現(xiàn)象將越明顯。
3. 高斯低通濾波器(GLPF)
函數(shù)表達(dá)式如下:
高斯濾波器的過度特性非常平坦,因此不會產(chǎn)生振鈴現(xiàn)象。
三、頻域?yàn)V波步驟
1. 基本步驟
1. 給定一幅大小為m*n的圖像f(x,y)。選擇適當(dāng)?shù)奶畛鋮?shù)P和Q,一般令P = 2m,Q = 2n。
2. 對圖像f(x, y)填充0,填充后得到圖像大小為P*Q的圖像fp(x, y)。
3. 用(-1)^(x+y)乘以fp(x,y)將其移到變換中心(中心化)。
4. 計(jì)算fp(x, y)的DFT,得到F(u,v)。?
5. 生成一個(gè)實(shí)的,對稱的濾波函數(shù)H(u, v),大小為P*Q,中心在(P/2, Q/2)處。然后相乘(矩陣點(diǎn)乘)得到G(u,v) = H(u,v)F(u,v)。
6. 對G(u, v)反傅里葉變換,然后取實(shí)部,再乘以(-1)^(x+y)進(jìn)行反中心變換最后得到gp(x,y)。
7. 提取gp(x,y)左上角的m*n區(qū)域,對提取的部分進(jìn)行標(biāo)準(zhǔn)化處理,得到最終的結(jié)果圖像g(x,y)。
2. 相關(guān)步驟說明
1. 對圖像進(jìn)行0填充,得到大小為P*Q的圖像,主要是為了避免在循環(huán)卷積中出現(xiàn)的纏繞錯(cuò)誤。當(dāng)兩個(gè)矩陣大小相同時(shí),P≥2m-1,Q≥2n-1時(shí)可以避免環(huán)繞錯(cuò)誤。由于對于偶數(shù)尺寸的矩陣計(jì)算其傅里葉變換較快,因此P取2m,Q取2n。
2. 圖像乘以(-1)^(x+y),再對圖像進(jìn)行傅里葉變換可以得到將原點(diǎn)移到中心的傅里葉變換。這樣,對于F(u,v)來說,中心的頻率最低,四周的頻率較高。每一點(diǎn)的值表示該頻率對于的幅度。在matlab中,也可以不乘以(-1)^(x+y),直接對填充后的圖像進(jìn)行傅里葉變換,之后使用fftshift函數(shù)對其傅里葉變換進(jìn)行中心化。得到的結(jié)果是一樣的。
3. 由于圖像是一個(gè)實(shí)函數(shù),所以其傅里葉變換是一個(gè)旋轉(zhuǎn)對稱的傅里葉變換。
4. 關(guān)于對稱中心。課本中指出,對于一個(gè)長度為M的一維序列,當(dāng)M為偶數(shù)時(shí),位置0和M/2呈現(xiàn)零的特性,當(dāng)M為奇數(shù)時(shí),只有位置0呈現(xiàn)零的特性。因此,在matlab中,由于矩陣下標(biāo)是從1開始的,我們的P = 2m,Q = 2n。因此中心點(diǎn)的位置為(P/2+1, Q/2+1),即(m+1, n+1)。
5. 標(biāo)準(zhǔn)化處理。對最終得到的圖像每一點(diǎn)的值進(jìn)行處理。使其范圍變?yōu)閇0, 255]的uint8。或者[0, 1.0]的double值。
四、matlab代碼實(shí)現(xiàn)Butterworth低通濾波器
在使用matlab代碼的實(shí)現(xiàn)過程中,對于這三種低通濾波器,只是在實(shí)驗(yàn)低通濾波器函數(shù)H(u,v)的代碼中有部分不同,其他部分一致。因此,在下面中,只給出實(shí)現(xiàn)Butterworth低通濾波器的代碼,不給出其他兩種濾波器的代碼。
1.? Butterworth濾波器的代碼如下:
該函數(shù)為Bfilter,輸入為需要進(jìn)行Butterworth濾波的灰度圖像,Butterworth濾波器的截止頻率D0以及Butterworth濾波器的階數(shù)n。輸出為進(jìn)行濾波之后的圖像(圖像的值已經(jīng)歸一化到[[0, 255])。
2. 測試代碼如下
測試時(shí)Butterworth濾波器的階數(shù)為2。截止頻率分別為10,30,60,160,460。
3. 運(yùn)行結(jié)果如下,可以看出,與課本給出的結(jié)果一致。
總結(jié)
以上是生活随笔為你收集整理的理想低通滤波器、Butterworth滤波器和高斯滤波器(matlab)1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: adapt和adopt的区别_如何一句话
- 下一篇: adapt和adopt的区别_相似词辨析