摘 要 在圖像預處理中,對圖像進(jìn)行平滑,去除噪聲,恢復原始圖像是一個(gè)重要內容。本文設計了一個(gè)平滑尺度和模板大小均可以改變的高斯濾波器,用它對多幅加入各種噪聲后的圖像進(jìn)行平滑,經(jīng)過(guò)對各個(gè)結果圖像的對比可知高斯濾波對服從正態(tài)分布的噪聲去除效果比較好,并且相比各個(gè)不同參數,在平滑尺度為2,模板大小為7時(shí)效果最佳。
關(guān)鍵詞 圖像預處理;平滑處理;平滑尺度;模板大??;高斯濾波 /////////http://pr-ml.5d6d.com/thread-441-1-1.html
1 引言一幅原始圖像在獲取和傳輸過(guò)程中會(huì )受到各種噪聲的干擾,使圖像質(zhì)量下降,對分析圖像不利。反映到圖像畫(huà)面上,主要有兩種典型的噪聲。一種是幅值基本相同,但出現的位置隨機的椒鹽噪聲,另一種則每一點(diǎn)都存在,但幅值隨機分布的隨機噪聲。為了抑制噪聲、改善圖像質(zhì)量,要對圖像進(jìn)行平滑處理。圖像平滑處理的方法多種多樣,有鄰域平均、中值濾波,高斯濾波、灰度最小方差的均值濾波等。這里主要就是分析高斯濾波器的平滑效果。以下即為本課題研究的主要內容及要求:
第一,打開(kāi)顯示對應圖像;
第二,編寫(xiě)給圖像加噪聲的程序;
第三,程序中實(shí)現不同平滑尺度、不同模板大小的高斯模板設計,并將設計結果顯示出來(lái);
第四,以L(fǎng)ena圖像為例,進(jìn)行加噪聲,分析平滑的實(shí)驗效果。
2 高斯平滑濾波器的原理高斯濾波器是根據高斯函數的形狀來(lái)選擇權值的線(xiàn)性平滑濾波器。高斯平滑濾波器對去除服從正態(tài)分布的噪聲是很有效果的。一維零均值高斯函數為
。其中,高斯分布參數 決定了高斯濾波器的寬度。對圖像來(lái)說(shuō),常用二維零均值離散高斯函數作平滑濾波器,函數表達式如下:
式(1)高斯函數具有5個(gè)重要性質(zhì):
(1)二維高斯函數具有旋轉對稱(chēng)性,即濾波器在各個(gè)方向上的平滑程度是相同的。一般來(lái)說(shuō)一幅圖像的邊緣方向是不知道的。因此,在濾波之前是無(wú)法確定一個(gè)方向比另一個(gè)方向上要更多的平滑的。旋轉對稱(chēng)性意味著(zhù)高斯濾波器在后續的圖像處理中不會(huì )偏向任一方向。
(2)高斯函數是單值函數。這表明,高斯濾波器用像素鄰域的加權均值來(lái)代替該點(diǎn)的像素值,而每一鄰域像素點(diǎn)的權值是隨著(zhù)該點(diǎn)與中心點(diǎn)距離單調遞減的。這一性質(zhì)是很重要的,因為邊緣是一種圖像局部特征。如果平滑運算對離算子中心很遠的像素點(diǎn)仍然有很大的作用,則平滑運算會(huì )使圖像失真。
(3)高斯函數的傅立葉變換頻譜是單瓣的。這一性質(zhì)是高斯函數傅立葉變換等于高斯函數本身這一事實(shí)的直接推論。圖像常被不希望的高頻信號所污染,而所希望的圖像特征,既含有低頻分量,又含有高頻分量。高斯函數傅立葉變換的單瓣意味著(zhù)平滑圖像不會(huì )被不需要的高頻信號所污染,同時(shí)保留了大部分所需要的信號。
(4)高斯濾波器的寬度(決定著(zhù)平滑程度)是由參數σ表證的,而且σ和平滑程度的關(guān)系是非常簡(jiǎn)單的。σ越大,高斯濾波器的頻帶就越寬,平滑程度就越好。通過(guò)調節平滑程度參數σ,可在圖像特征分量模糊(過(guò)平滑)與平滑圖像中由于噪聲和細紋理所引起的過(guò)多的不希望突變量(欠平滑)之間取得折衷。
(5)由于高斯函數的可分離性,大高斯濾波器可以有效實(shí)現。通過(guò)二維高斯函數的卷積可以分兩步來(lái)進(jìn)行,首先將圖像與一維高斯函數進(jìn)行卷積,然后將卷積的結果與方向垂直的相同一維高斯函數進(jìn)行卷積。因此,二維高斯濾波的計算量隨濾波模板寬度成線(xiàn)性增長(cháng)而不是成平方增長(cháng)。這些性質(zhì)使得它在早期的圖像處理中特別有用,表明高斯平滑濾波器無(wú)論在空間域還是在頻率域都是十分有效的低通濾波器。
高斯函數的可分離性很容易表示:
式(2)
式(3)
式(4)
3 離散高斯平滑濾波器的設計在高斯濾波器的設計中,高斯函數的最佳逼近由二項式展開(kāi)的系數決定。由高斯函數的可分離性得到,二維高斯濾波器能用2個(gè)一維高斯濾波器逐次卷積來(lái)實(shí)現,一個(gè)沿水平方向,一個(gè)沿垂直方向。實(shí)際上,這種運算可以通過(guò)使用單個(gè)一維高斯模板,對兩次卷積之間的圖像和最后卷積的結果圖像進(jìn)行轉置來(lái)完成。
對較大的濾波器,二項式展開(kāi)系數對大多數計算機來(lái)說(shuō)都太多,但是,任意大的高斯濾波器都能通過(guò)重復使用小的高斯濾波器來(lái)實(shí)現。設計高斯濾波器的另一途徑是直接從離散高斯分布中計算模板值。
式(5)其中c是規范化系數,把上式重新表示為
式(6)選擇適當的σ2值,就可以在 窗口上評價(jià)該值,以便獲取核或模板。
本實(shí)驗中筆者就是采用的第二種方法。首先選擇n值和σ2值,然后根據式(4)計算出模板的右下角元素,再根據高斯模板的中心左右上下對稱(chēng)性(如圖1 c7×7的模板結構所示)對應地復制給其它三個(gè)區域,即可得出整個(gè)模板的元素,最后再對全部的模板元素求和、取倒數即求得規范化系數 。
程序中求模板元素的主要實(shí)現部分如下:
for(i=0;i<N+1;i++) //取模板大小(2N+1) (2N+1)的右下角部分
{ for(j=0;j<N+1;j++)
{ t=(float)(i*i+j*j)/(float)m_b2; // m_b2表示平滑尺度
Ftemp[i*(N+1)+j]=(float)(1.0/exp(t/2)); }
}
C=(int)ceil(1/Ftemp[(N+1)*(N+1)-1]+0.5); //計算歸一化系數
for(i=0;i<N+1;i++) //給模板右下角付值
{ for(j=0;j<N+1;j++)
{ Itemp[(N+i)*(2*N+1)+(N+j)] =int(Ftemp[i*(N+1)+j]*C+0.5); }
}
for(i=N;i<2*N+1;i++) //給模板左下角付值
{ for(j=0;j<N+1;j++)
{ Itemp[i*(2*N+1)+j] =Itemp[i*(2*N+1)+(2*N-j)]; }
}
for(i=0;i<N;i++) //給模板上半部分付值
{ for(j=0;j<2*N+1;j++)
{ Itemp[i*(2*N+1)+j] =Itemp[(2*N-i)*(2*N+1)+j];}
}
for(i=0;i<2*N+1;i++) //計算總的系數
{ for(j=0;j<2*N+1;j++)
{ Cof +=(float )Itemp[i*(2*N+1)+j]; }
}
Cof=(float)( 1.0/Cof);
例如3×3,5×5 ,7 ×7, 高斯模板如圖1所示。
式(7) 本實(shí)驗中設計的高斯濾波器的對話(huà)框結構如圖1所示。
a) σ=1,n=3時(shí)的模板
b) σ=2,n=5時(shí)的模板
c) σ=2,n=7時(shí)的模板
圖1 選擇不同平滑參數并顯示模板元素的對話(huà)框
4 實(shí)驗結果、分析與總結本實(shí)驗分別采用大小為256x256的 Lena(灰、彩)圖進(jìn)行去噪,其分別處理的效果如圖2所示。 由圖中幾組圖像的效果比較可以看出在平滑尺度為1不變時(shí),隨著(zhù)模板由3x3變?yōu)?x5,平滑的效果明顯變好,圖像的整體亮度也有所提高,更接近原圖了(對比圖.b和c)。同理在保持平滑尺度為2不變時(shí),模板為7x7時(shí)的效果比5x5的也要好得多(對比圖.d和e)。同時(shí)將這前后兩組比較,很明顯,平滑尺度為2的效果又比為1時(shí)要好得多。但是隨著(zhù)平滑尺度的增加,尤其是模板大小的增大,平滑所需要的時(shí)間也更長(cháng)了。因此在實(shí)際應用中要權衡兩者,對不同圖像采用不同的參數。
a)經(jīng)過(guò)加噪后的原圖像 b)σ=1,n=3時(shí)的平滑結果
c) σ=1,n=5時(shí)的平滑結果 d)σ=2,n=5時(shí)的平滑結果
e)σ=2,n=7的平滑結果
圖2 灰度彩色圖像在不同平滑尺度不同模板大小時(shí)的平滑效果
除此之外,本實(shí)驗還將尺度為2,7x7大小的高斯模板分別應用于椒鹽、隨機和高斯噪聲圖像,以進(jìn)一步分析高斯濾波對不同噪聲的去噪效果。其結果對比如圖3所示。
通過(guò)比較發(fā)現高斯濾波對隨機噪聲和高斯噪聲(尤其是服從正態(tài)分布的噪聲)的去除效果都比較好,但是對于椒鹽噪聲的去除就欠佳,似乎在把噪聲的幅度減小的同時(shí)也把噪聲點(diǎn)變大了。因此在作平滑處理時(shí)要針對不同的圖像噪聲采用不同的濾波器才能獲得好的效果。
a ) 椒鹽噪聲處理前后的圖像
b ) 隨機噪聲處理前后的圖像
c ) 高斯噪聲處理前后的圖像
圖3 σ=2,n=7時(shí)的平滑不同噪聲圖像效果