劉軍
(廣東省湛江衛(wèi)生學(xué)校,湛江 524037)
圖像運(yùn)算指以圖像為單位進(jìn)行的搡作(該操作對(duì)圖像中的所有像素同樣進(jìn)行),運(yùn)算的結(jié)果是一幅其灰度分布與原來參與運(yùn)算圖像灰度分布不同的新圖像。具體的運(yùn)算主要包括算術(shù)和邏輯運(yùn)算,它們通過改變像素的值來得到圖像增強(qiáng)的效果[1]。
代數(shù)運(yùn)算也叫算術(shù)運(yùn)算,是指對(duì)兩幅或兩幅以上的輸入圖像中對(duì)應(yīng)像素的灰度值作加、減、乘或除等運(yùn)算后,將運(yùn)算結(jié)果作為輸出圖像相應(yīng)像素的灰度值。代數(shù)運(yùn)算不會(huì)改變像素的空間位置[2]。圖像代數(shù)運(yùn)算是一種比較簡(jiǎn)單和有效的圖像增強(qiáng)處理操作,是遙感圖像增強(qiáng)處理中常用的一種方法[3]。
圖像的加法算法運(yùn)算是指兩幅或多副圖像通過對(duì)應(yīng)像素之間的加運(yùn)算得到輸出圖像的方法[4],運(yùn)算的數(shù)學(xué)表達(dá)式如式(1)所示:
其中,A(x,y)和B(x,y)表示需要進(jìn)行加法運(yùn)算的兩幅圖像,?(x,y)是A(x,y)和B(x,y)疊加后的圖像。
在MATLAB圖像處理工具箱中可以用函數(shù)imadd()實(shí)現(xiàn)兩幅圖像的相加或者一幅圖像和常量的相加[5],其函數(shù)表達(dá)式為Z=imadd(X,Y)。該表達(dá)式中X和Y都是大小相等的圖像矩陣,它們相加的結(jié)果返給Z,也就是說Z是疊加后的新圖像??梢杂脠D1來表示加法運(yùn)算的圖像疊加。
圖1 圖像疊加
圖像加法運(yùn)算還可以對(duì)圖像中的每個(gè)像素加一個(gè)常量,從而改變圖像亮度,實(shí)現(xiàn)圖像增強(qiáng)。數(shù)學(xué)表達(dá)式為 ?(x,y)=A(x,y)+B,其中B為常數(shù),?(x,y)是圖像A( )x,y增強(qiáng)后的圖像。可以用圖2來表示圖像增強(qiáng),其中圖2(a)為原始圖像,圖 2(b)是每個(gè)像素值增值100后的圖像。
圖像加法運(yùn)算不但得到圖像的疊加效果,通過疊加原理的外延還可以把同一圖像的多重影像加起來再求平均,以此來減少圖像的隨機(jī)噪聲,達(dá)到降噪效果。
圖2 每個(gè)像素值增加100后的圖像
圖像加法運(yùn)算降噪的基本原理可以描述為以下:
假設(shè)原圖像f(x,y),混入噪聲,形成含噪聲圖像集{gi(x,y),i}=1,2,…M。其關(guān)系可以用式(2)來表示。
其中g(shù)i(x,y)為混入噪聲的圖像,f(x,y)為原始圖像,ei(x,y)為隨機(jī)噪聲。在噪聲圖像集{gi(x,y),i}=1,2,…M中,M個(gè)圖像的均值可以表示為式(3)。
當(dāng)噪聲ei(x,y)為互不相關(guān),而且均值為0時(shí),上述圖像均值(x,y)將可以降低圖像gi(x,y)噪聲[6]。
根據(jù)加法運(yùn)算降噪的原理,為了驗(yàn)證圖像加法算法的降噪效果,在MATLAB中通過函數(shù)imnoise()給圖像添加隨機(jī)噪聲,該函數(shù)表達(dá)式為:
J=imnoise(I,type,parameters)
其中I為原始圖像;type為添加的噪聲類型,類型可以是泊松噪聲poisson、高斯噪聲gaussian、椒鹽噪聲salt&pepper、乘性噪聲speckle和零均值的高斯噪聲localvar等;Parameters則是指不同類型噪聲的參數(shù)值。
本文隨機(jī)采用兩種不同的噪聲類型進(jìn)行試驗(yàn)驗(yàn)證,其中一種類型為“高斯噪聲gaussian”,參數(shù)值是“均值為0,方差為0.05”;另外一種類型為“椒鹽噪聲salt&pepper”,參數(shù)值是“0.05”。
通過for循環(huán)來實(shí)現(xiàn)圖像和噪聲圖像的疊加。為了取得適合的均值和驗(yàn)證降噪效果的高低,M分別賦值為 3、9、99,則圖像的疊加次數(shù)分別為 4、10、100。
本實(shí)例在MATLAB下的關(guān)鍵程序代碼如下所示:
R=imread('eight.tif');%讀入 eight.tif圖像
A=imnoise(R,'gaussian',0,0.05);%添加高斯白噪聲,椒鹽噪聲的代碼應(yīng)為 A=imnoise(R,'salt&pepper',0.05)
I=A;
M=3;%M分別賦值為3、9、99
I=im2double(I);%將數(shù)據(jù)類型uint8轉(zhuǎn)換成double
R=im2double(R);
for i=1:M%疊加次數(shù)分別為4、10、100
I=imadd(I,R);%對(duì)原圖像與帶噪聲圖像進(jìn)行多次疊加,結(jié)果返回I
end
avg_A=I/(M+1);%求疊加圖像的均值
需要注意的是在MATLAB中圖像數(shù)據(jù)默認(rèn)類型是uint8,當(dāng)進(jìn)行加法運(yùn)算時(shí)有可能產(chǎn)生屬性溢出,所以應(yīng)當(dāng)在進(jìn)行圖像加法運(yùn)算之前先將數(shù)據(jù)類型轉(zhuǎn)換成double,從而確保結(jié)果的準(zhǔn)確性。
在MATLAB中進(jìn)行加法算法降噪實(shí)驗(yàn),降噪實(shí)驗(yàn)結(jié)果如圖3和圖4所示。圖3(a)和圖4(a)是原始的圖像,圖3(b)為添加“均值為0,方差為0.05”高斯白噪聲后的圖像,圖4(b)為添加“0.05”椒鹽噪聲后的圖像。圖 3和圖 4(c)、(d)、(e)分別是 M 為 3、9、99時(shí)降噪后的圖像。根據(jù)圖像質(zhì)量主觀判斷標(biāo)準(zhǔn),圖3和圖4(c)、(d)、(e)都能有效的濾去噪聲,達(dá)到降噪效果。就本實(shí)驗(yàn)而言,降噪后圖像與原始圖像對(duì)比,降噪效果從高到低分別是(e)、(d)、(c)。由此可以得到,加法運(yùn)算對(duì)圖像隨機(jī)添加的噪聲有明顯的降噪效果。
圖3 降噪實(shí)驗(yàn)結(jié)果(高斯白噪聲)
圖4 降噪實(shí)驗(yàn)結(jié)果(椒鹽噪聲)
本文介紹了圖像代數(shù)運(yùn)算中加法算法可以使兩幅或者多幅圖像疊加,圖像增強(qiáng)以及降噪原理,根據(jù)加法運(yùn)算降噪的原理利用MATLAB圖像工具箱中的函數(shù),編寫代碼進(jìn)行仿真實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行圖像質(zhì)量主觀標(biāo)準(zhǔn)判斷,證明圖像加法運(yùn)算能有效濾去隨機(jī)添加的噪聲,達(dá)到降噪效果。