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