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