資源描述:
《數(shù)字圖像處理實驗03圖像的平滑濾波》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、一、數(shù)字圖像處理實驗實驗三圖像的平滑濾波一、實驗目的圖像平滑主要目的是減少噪聲。噪聲有很多種類,不同的噪聲有不同的抑制措施。本實驗要求用平滑線性濾波和中值濾波2種最典型、最常用的處理算法進行程序設計,學習如何對已被噪聲污染的圖像進行“凈化”。通過平滑處理,對結(jié)果圖像加以比較,得出自己的實驗結(jié)論。二、實驗內(nèi)容1.編寫并調(diào)試窗口尺寸為m×m的平滑濾波函數(shù)。2.編寫并調(diào)試窗口尺寸為m×m的中值濾波函數(shù)。三、實驗原理圖像平滑濾波可分為空間域和頻率域兩種方法。在空間域內(nèi)可以用鄰域處理來減少噪聲。在頻率域,因為噪聲頻譜多在高頻段,可以
2、采用各種形式的低通濾波辦法來減少噪聲??臻g域鄰域處理包括:(1)定義中心點(x,y);(2)僅對預先定義的以(x,y)為中心點的鄰域內(nèi)的像素進行運算;(3)令運算結(jié)果為該點處處理的響應;(4)對圖像中的每一點重復此步驟。移動中心點會產(chǎn)生新的鄰域,而每個鄰域?qū)谳斎雸D像上的一個像素。通常鄰域是遠比圖像尺寸小的一規(guī)則形狀,如正方形m×m或近似表示圓等形狀的多邊形。若鄰域的大小為m×n,則總共需要mn個系數(shù)。這些系數(shù)排列為一個矩陣,我們稱其為濾波器、掩模、濾波掩模、模板或窗口。對于一個大小為m×n的模板,假定m=2a+1且n=
3、2b+1,其中a和b為非負整數(shù)。所有假設都是基于模板的大小應均為奇數(shù)的原則,處理奇數(shù)尺寸的模板會更加直觀,因為它們都有唯一的一個中心點。若對鄰域中像素的計算為線性運算時,則此運算稱為線性空間濾波(也稱為空間卷積);否則,我們稱此運算為非線性空間濾波。1.平滑線性濾波空間域圖像平滑線性濾波器是一種最常用的線性低通濾波器,其處理方法是在待處理圖像f(x,y)中逐點地移動模板,在每個點(x,y)處的響應是模板系數(shù)與直接在模板下的相應像素的乘積之和,作為處理后圖像g(x,y)的像素值。一般來說,在M×N的圖像f上,用m×n大小的濾
4、波器模板進行線性濾波由下式給出:1abg(x,y)=∑∑f(x+m,y+n)h(m,n)(3.1)m=??an=b式中:x=0,1,2,...,M?1和y=0,1,2,...,N?1a=(m?1)/2和b=(n?1)/2為了得到一幅完整的經(jīng)過濾波處理的圖像,必須對x=0,1,2,...,M?1和y=0,1,2,...,N?1依次應用公式(3.1)。這樣,就保證了對圖像中的所有像素進行了處理。下面是幾種常用的用于噪聲平滑的濾波器模板:?111??111??121?1??1??1??h=111h=121h=24219??210
5、??316????111????111????121??(a)(b)(c)圖1.53×3平滑濾波器模板。每一個模板前邊的乘數(shù)等于它的系數(shù)值之和,以計算平均值在圖1.5中,(a)是最簡單的均值濾波器模板,將均值濾波器加以修正,可以得到加權(quán)平均濾波器模板(b)和(c)。線性空間濾波的機理如圖1.6所示。2圖像原點y模板hh(-1,-1)h(-1,0)h(-1,1)圖像f(x,y)h(0,-1)h(0,0)h(0,1)xh(1,-1)h(1,0)h(1,1)f(x-1,y-1)f(x-1,y)f(x-1,y+1)f(x,y-1)
6、f(x,y)f(x,y+1)f(x+1,y-1)f(x+1,y)f(x+1,y+1圖1.6空間域濾波的機理。顯示了一個3×3模板和其覆蓋的圖像部分開始定義均值濾波器窗口hones()循環(huán)i,M循環(huán)j,N由平滑濾波公式(3.1)計算g(x,y)結(jié)束圖1.7均值濾波編程框圖2.中值濾波中值濾波器是一種非線性平滑濾波器。其基本原理是用一個含有奇數(shù)點的滑動窗口,將窗口中心像素的值用窗口內(nèi)各像素排序后的中位象素(即排序后位置處于正中的那個像素值)來代替。g(i,j)=MED(i,j)(3.2)3F(i,j)S圖1.8中值濾波原理設圖
7、像為F,窗口為S,如上圖所示,窗口內(nèi)的象素為S(0,0)、S(0,m?1)、S(1,0)、…S(m?1,m?1),其中MED(i,j)為以(i,j)為中心的濾波窗口內(nèi)象素的中值。窗口內(nèi)象素的中值MED使(m×m?1)/2個象素小于等于MED,(m×m?1)/2個象素大于等于MED。(計算中值要求m×m為奇數(shù))。經(jīng)過中值后,圖像中的隨機噪聲將被有效地消除。這是因為鄰域中亮度值發(fā)生隨機突變的象素,經(jīng)過排序后,要么排在隊列的隊首,要么排在隊列的隊尾,而中心象素的新值是取自隊列中位的那個象素值。開始循環(huán)i,M循環(huán)j,NC=1循環(huán)i
8、1,a循環(huán)j1,awinbuf(c)=oldbuf(i+i1,j+j1)c=c+1newbuf(i,j)=seekmid()結(jié)束圖1.9中值濾波編程框圖四、實驗方法及程序1.均值濾波編程4根據(jù)編程參考框圖1.7,編寫相關函數(shù):functionnewbuf=AverageFilter(oldbuf,M,N