河南省計量科學(xué)研究院 鄭開放 張 燕 劉賓武
X射線成像技術(shù)在醫(yī)療、安檢、工業(yè)探傷、無損檢測等領(lǐng)域中具有舉足輕重的地位。在醫(yī)療方面,X射線影像的清晰程度與很多影響量有關(guān),如設(shè)備中X射線光源,同步輻射光源被稱為最佳光源,還有影像形成的方法,患者是否配合,儀器參數(shù)設(shè)置是否合理。都會對最終的圖片產(chǎn)生噪聲、模糊度等影響,更差的直接導(dǎo)致畸變。
對圖像進行預(yù)處理,抑制噪聲,同時不改變圖像細節(jié),這就是我們要做的圖像濾波,圖像的有效性跟圖像處理效果好壞有關(guān)。含噪聲圖片有自己的特點,頻譜分布統(tǒng)計特性及規(guī)律。去噪聲的方法有很多。采用鄰域平均法做成均值濾波器,采用中值濾波法做成中值濾波器,采用維納濾波法做成維納濾波器等等。這次主要針對這三種方法研究分析。
廣義的噪聲是對影響人體感覺器官判斷信息的因素的總稱。顧名思義,圖像噪聲就是圖像中影響接收內(nèi)容信息的因素。
①高斯噪聲:在圖片上看上去就是很多孤立像素點,或者像素塊。概率密度函數(shù)服從正太分布。
②散粒噪聲:光是由離散光子構(gòu)成,這是形成散粒噪聲的根本原因,散粒噪聲因為服從泊松分布,所以平時也被稱為泊松噪聲。
③椒鹽噪聲: 一般在傳輸中受到強烈干擾、解碼處理過程中產(chǎn)生,隨機性的出現(xiàn)黑點或者白點。
均值濾波的思想是用像素及其指定鄰域內(nèi)像素的平均值或加權(quán)平均值作為該像素的新值,以便去除突變的像素點,從而濾除一定的噪聲。鄰域平均法原理就是調(diào)節(jié)當前點的灰度值為周圍灰度值的平均值,比如 f (i, j )為得到的有噪聲圖片,經(jīng)過后的實驗圖片為g (x, y ),用公式表達就是:
公式里S是鄰域集合,以 (x, y )中心,M為S里面點數(shù)[1]。
鄰域平均法原理就是模板計算,對所有像素點都一樣,都進行平均處理,選擇模板越大,就越能減少噪聲,越能去除圖像中產(chǎn)生的突變像素點。這種方法是最常用來進行均值濾波的方法,得出圖片給人的感覺就是做了平滑處理。
這種方法是低通濾波器中的一種典型,技術(shù)是非線性濾波。它在一個以某點為中心的模板內(nèi),按從大到小把所有像素灰度排列起來,找出這些像素平均值(偶數(shù)個)或者中間值(奇數(shù)個),將這個值當成這個點的像素灰度值。這種方法其實是跟均值濾波法有點類似的,一個是平均值,一個是中值,中值濾波的好處就是運算中不需要圖像統(tǒng)計特性。最開始是用在一維信號處理中,但是醫(yī)學(xué)圖像都是二維圖像,當然原理是一樣的,本次試驗也是采用二維圖像,這種方法能保留圖片中一些突變的細節(jié),這是與均值濾波不同的地方。
我們以前接觸的濾波器,比如低通,高通,帶通以及匹配濾波器,他們的應(yīng)用場合是要具備不隨時間變化的“最佳”系數(shù)。但是,現(xiàn)在是在X射線醫(yī)學(xué)領(lǐng)域,噪聲產(chǎn)生的原因有很多,這就需要我們采用濾除噪聲的方法能隨輸入信號的變化而有所調(diào)整,與之相適應(yīng)。 維納濾波的應(yīng)用還是十分廣泛的,可以用于噪聲抑制、系統(tǒng)辨識、預(yù)測及反演模擬。最常用的也是這次我們運用的,就是從噪聲中提取有用信號。維納濾波跟均值濾波及中值濾波剛好相反,前者是找有用信號,后兩者是想法找到噪聲信號,并修改灰度值。
MATLAB可以實現(xiàn)編程、計算結(jié)論可視化,擁有完整圖像處理功能,包含了大量算法,甚至可以用于工程繪圖和科學(xué)計算,功能十分強大。當然我們用到的是數(shù)字圖像處理技術(shù)。
此文采用Matlab7.0版本,以下是用到的幾個函數(shù)[3]:①讀入圖像與顯示圖像
讀入圖像函數(shù)為imread,運用格式如下:
[Y,map]=imread(filename,fmt),圖像文件名為filename。圖像格式為fmt。
讀入圖像函數(shù)為imread,運用格式如下:
imshow(BW) imshow(Y,map)
②二維卷積的計算
函數(shù)為conv2,運用格式如下:C=conv2(A,B),計算矩陣AB的卷積。
③ Matlab實現(xiàn)噪聲
函數(shù)為imnoise,運用格式如下: J=imnoise(D,type)
J=imnoise(D,type,parameter),J是返回的有噪聲的圖像,其中添加了典型噪聲,type是指噪聲類型和parameter是指相應(yīng)參數(shù)。
④中值濾波函數(shù)
H=med fi lt2(J),表示對加了噪聲的J有噪圖像進行中值濾波
⑤維納濾波函數(shù)
H=wiener2(J,[m n]);其中J表示待濾波圖像矩陣,[m n]表示濾波器窗口大小。
本文的實驗分為三個,實驗一是對用X射線在胃腸床上拍攝的小鐵棒圖片添加高斯噪聲,其中期望值是0,方差是0.01。均值濾波模板選用3*3,中值濾波也是3*3,維納濾波因為需要算方差的緣故,所以模板選大一點,選用5*5的。實驗二是對小鐵棒圖像加散粒噪聲,然后進行濾波。實驗三是對小鐵棒圖像加的椒鹽噪聲,噪聲強度為0.02,然后進行濾波。
4.2.1 試驗結(jié)果
如圖4.1仿真圖對應(yīng)實驗一,如圖4.2仿真圖對應(yīng)實驗二,如圖4.3仿真圖對應(yīng)實驗三。
圖4.1 添加高斯噪聲的實驗結(jié)果
圖4.2 添加泊松噪聲的實驗結(jié)果
4.2.2 針對試驗結(jié)果的分析
從試驗結(jié)果輸出圖片中,結(jié)合濾波的原理從而得出一些結(jié)論,這三種濾波方式都有平滑圖像的作用,都能夠濾除噪聲,但是針對不同噪聲的濾除效果卻又不相同。比如在圖4.1中,可以看出來,均值濾波有其自身固有的弊端,就是會很容易漏掉圖像的細節(jié),很不利于醫(yī)生對圖片的診斷,它使圖片變得模糊,可是究其原理,其對高斯噪聲還是有很好的濾波表現(xiàn),當然我們也可以對邊界不進行處理,這也是一種解決辦法。可是相反,中值濾波就不一樣,它就剛好能保留圖像尖銳邊緣,等于是保留了細節(jié)部分,在中間區(qū)域選擇合適的點來替代突變值,針對椒鹽噪聲特別有效,在圖4.3中體現(xiàn)的非常明顯。其實維納濾波也是有同均值濾波一樣的缺點,那就是丟失圖像邊緣細節(jié),我們在處理中也可以考慮不處理邊界的方法,刨去這點,觀察三張輸出影像,圖片中的高斯噪聲和散粒噪聲被去除的效果很明顯。
圖4.3 添加椒鹽噪聲的實驗結(jié)果
此此研究基于Matlab軟件,對一張在胃腸床上用X攝像拍攝的小鐵棒做去噪處理。其實在實際使用中,X射線機得出的影像中肯定不止一種噪聲,這個時候我們就可以根據(jù)不同噪聲進行不同的去噪處理,可是要考慮到去噪聲的同時已經(jīng)將原始圖像模糊化,所以要想辦法兼顧一下,使得在去除多種噪聲的同時,保留醫(yī)生用來診斷病因的細節(jié),這才是此次研究的意義。