姚堯++胡淑金++李紅亮++孫銀合+++常子棟
摘要:傳統(tǒng)X射線醫(yī)學(xué)影像存在邊緣模糊、對(duì)比度低等缺點(diǎn),影響了醫(yī)學(xué)影像質(zhì)量和診斷治療。本文介紹了運(yùn)用 Matlab 處理醫(yī)學(xué)影像的數(shù)字圖像處理方法,通過(guò)分析原始X射線圖像的缺陷,設(shè)計(jì)預(yù)處理、巴特沃斯濾波、中值濾波、同態(tài)濾波圖像處理方案,將原始X射線圖像轉(zhuǎn)化成對(duì)比度高、邊緣清晰的圖像,為醫(yī)學(xué)研究提供便利。
關(guān)鍵詞:數(shù)字圖像處理;X射線;Matlab;醫(yī)學(xué)影像
中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)02-0167-03
1 引言
X射線的波長(zhǎng)短,透射力強(qiáng),具有感光和熒光作用,現(xiàn)代醫(yī)學(xué)中,X射線檢查對(duì)醫(yī)學(xué)診斷有重要參考價(jià)值。人體的骨骼、器官密度、厚度不同,當(dāng)X射線通過(guò)人體時(shí),在熒光屏上形成灰度不同的圖像,密度大的部位圖像灰度大,密度小的圖像灰度小[1]。醫(yī)生根據(jù)X射線影像結(jié)合患者自述癥狀及診斷經(jīng)驗(yàn)即可制定治療計(jì)劃。骨骼對(duì)X射線的吸收比肌肉對(duì)X射線的吸收強(qiáng)得多,1895年,倫琴利用X射線拍攝出歷史上第一張X光片[2-3]。
由于 X 射線曝光不均勻、環(huán)境照度低,使得經(jīng)圖像信息輸入系統(tǒng)獲取的源圖像中含有各種各樣的噪聲與畸變,降低了圖像的品質(zhì),大大影響圖像的質(zhì)量,容易造成對(duì)病變器官的漏診與誤診。采用圖像增強(qiáng)的方法對(duì)圖像進(jìn)行改善,將圖像中感興趣的特征有選擇地進(jìn)行突出,并衰減不需要的特征,可以突出組織間的對(duì)比度、邊緣輪廓。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,Matlab在圖像處理方面的優(yōu)勢(shì)逐漸顯現(xiàn)。其在仿真模擬、圖形處理、大數(shù)據(jù)計(jì)算方面的功能特別適用于醫(yī)學(xué)影像處理,開放式的編程環(huán)境及擴(kuò)展功能為它的發(fā)展奠定了基礎(chǔ)。其自帶的工具箱含有大量圖像處理函數(shù),避免了使用者重新設(shè)計(jì)冗雜的程序,簡(jiǎn)化了工作流程,利用其實(shí)現(xiàn)醫(yī)學(xué)影像處理和病理分析,具有深遠(yuǎn)的醫(yī)學(xué)價(jià)值。
2 圖像處理方案設(shè)計(jì)
2.1 預(yù)處理
圖1為待處理的原始圖像,其灰度過(guò)大,邊界不清晰。首先將原始彩色圖像轉(zhuǎn)換為黑白圖像,將三維RGB彩色圖像壓縮為一維黑白圖像,處理后的圖像大小為原圖像的三分之一。
對(duì)像源灰度值進(jìn)行擴(kuò)展可以增加動(dòng)態(tài)范圍、擴(kuò)展對(duì)比度,從而提高圖像的清晰度。對(duì)比度增強(qiáng)可以改變圖像灰度的動(dòng)態(tài)范圍,改變0-0.5灰度值的像素,將其灰度值擴(kuò)展為0-1。使用Matlab工具箱中的imadjust (I,[low_in; high_in],[low_out; high_out])指令,將輸入圖像中l(wèi)ow_in值映射到輸出圖像中的low_out值 、high_in值映射到輸出圖像中的high_out值 , 并將 low_in與high_in間的值進(jìn)行線性縮放。
待處理的圖像命名為“Image.jpg”存于E: \文件夾下。A為原始圖像,B為黑白圖像,C為經(jīng)過(guò)對(duì)比度增強(qiáng)的圖像。Matlab程序如下:
A=imread('E:\ Image.jpg');
B=rgb2gray(A);
C=imadjust(B,[0,0.5],[]);
圖2為預(yù)處理后的圖像。
2.2 巴特沃斯高通濾波
圖像的細(xì)節(jié)、邊緣主要位于其高頻部分,圖像的模糊主要是由于其高頻成分比較弱。采用巴特沃斯高通加強(qiáng)濾波處理圖像,提取圖像中邊緣灰度值變化率大的部分,對(duì)圖像進(jìn)行銳化處理,是為了消除模糊,突出邊緣。
巴特沃斯高通加強(qiáng)濾波器的傳遞函數(shù)為:
,
其中,
表示頻率(u,v)至濾波器中心(u0,v0)的距離[4]。
用巴特沃斯高頻加強(qiáng)濾波處理,可以彌補(bǔ)高頻信號(hào),即在原傳遞函數(shù)上加上一個(gè)大于0小于1的常數(shù)。程序中,取特征值a=1.5,b=0.5。Matlab不支持圖像無(wú)符號(hào)整型的運(yùn)算,因此要先將上一步通過(guò)預(yù)處理的圖像轉(zhuǎn)換數(shù)據(jù)類型,每點(diǎn)進(jìn)行傅里葉變換。計(jì)算傅里葉變換后的數(shù)據(jù)大小,并取整,便于后續(xù)傳遞函數(shù)的運(yùn)算。選定截止頻率d0和階次n后,按照傳遞函數(shù)進(jìn)行運(yùn)算,經(jīng)濾波后再進(jìn)行傅里葉反變換,圖3為濾波后的圖像。
Matlab程序如下:
D1=double(C); % 數(shù)據(jù)類型轉(zhuǎn)換
D2=fft2(D1); %采用傅里葉變換
D3=fftshift(D2); %數(shù)據(jù)局陳平衡,將FFT的DC分量移到頻譜中心
[M,N]=size(D3);
n1=floor(M/2);
n2=floor(N/2);
d0=20; %截止頻率為20
n=2; %階次為2
for i=1:M %巴特沃斯高通濾波
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
if d==0
h=0.5;
else
h=1.5/(1+(d0/d)^(2*n))+0.5;
end
D4(i,j)=h*D3(i,j);
end
end
D=ifftshift(D4);
D=uint8(real(ifft2(D)));
2.3 中值濾波
中值濾波的基本原理是將數(shù)字圖像中一點(diǎn)的值用該點(diǎn)的一個(gè)鄰域中各點(diǎn)值的中值代替,讓周圍的像素值接近真實(shí)值,以此消除孤立的噪聲點(diǎn)。本文中選用3*3平滑模版濾波,使其變得均勻。
Matlab程序?qū)崿F(xiàn):G=filter2(fspecial('average',3),D)。
Matlab工具箱中自帶的(type,para)函數(shù)用于建立預(yù)定義的濾波算子,type為濾波算子的類型,本文中選定average做均值濾波;para為參數(shù),本文中選定3*3。將經(jīng)過(guò)巴特沃斯高通加強(qiáng)濾波處理的圖像加到進(jìn)行過(guò)對(duì)比度增強(qiáng)的圖像中后,圖像變得清晰。處理后的圖像再進(jìn)行一次3*3平滑模版濾波,使其變得均勻,圖4為處理后的圖像。經(jīng)過(guò)高通濾波能夠提取出高頻信號(hào),削弱低頻信號(hào),將此時(shí)的圖像疊加到經(jīng)過(guò)預(yù)處理后的圖像2中,既能獲得邊緣銳化的高頻信號(hào),又保留低頻信號(hào),如圖5所示。
2.4 同態(tài)濾波
同態(tài)濾波把灰度變換和頻率過(guò)濾結(jié)合起來(lái),將圖像的照度反射率模型作為頻域處理的基礎(chǔ),通過(guò)壓縮亮度范圍和增強(qiáng)對(duì)比度改善圖像的質(zhì)量。使用這種方法可以使圖像處理符合人眼對(duì)于亮度響應(yīng)的非線性特性,避免了直接對(duì)圖像進(jìn)行傅立葉變換處理的失真[4]。
高斯型高通濾波器的傳遞函數(shù)為:
,
rh表示高頻增益,rl表示低頻增益,利用常數(shù)c控制濾波器函數(shù)斜面的銳化,當(dāng)rl<1,rh>1時(shí),減小低頻并且增強(qiáng)高頻,動(dòng)態(tài)范圍被壓縮,對(duì)比度增強(qiáng)。利用Matlab實(shí)現(xiàn)時(shí),首先轉(zhuǎn)換數(shù)據(jù)類型,然后進(jìn)行傅里葉變換,便于在頻域內(nèi)對(duì)高頻信號(hào)和低頻信號(hào)分別處理,選定高頻增益為2、低頻增益為0.5、常數(shù)c為4、截止頻率為10,利用雙重循環(huán)實(shí)現(xiàn)傳遞函數(shù)的運(yùn)算,再進(jìn)行傅里葉反變換。處理后的圖像再進(jìn)行一次3*3平滑模版濾波,使其變得均勻。圖6為處理后的最終圖像。
Matlab程序如下:
H=double(H);
f=fft2(H); %采用傅里葉變換
g=fftshift(f);
[M,N]=size(f);
d0=10;
rl=0.5;
rh=2;
c=4;
n1=floor(M/2);
n2=floor(N/2);
for i=1:M
for j=1:N
d=sqrt((i-n1)^2+(j-n2)^2);
h=(rh-rl)*(1-exp(-c*(d.^2/d0.^2)))+rl;
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g);
g=uint8(real(ifft2(g)));
3 結(jié)語(yǔ)
Matlab集成了多種圖像處理的工具箱,將復(fù)雜變換利用自帶函數(shù)得以實(shí)現(xiàn)。在實(shí)際使用中,應(yīng)根據(jù)不同X射線光片的灰度范圍、拍攝亮度、不同骨骼布局適當(dāng)?shù)恼{(diào)整函數(shù)參數(shù),如高頻增益、低頻增益、截止頻率等,同時(shí)可將此數(shù)據(jù)存入數(shù)據(jù)庫(kù),在后續(xù)研究中以調(diào)用和參考。將Matlab應(yīng)用于醫(yī)學(xué)影像圖像處理,通過(guò)對(duì)比度增強(qiáng)、傅里葉變換、濾波等處理,優(yōu)化了圖像質(zhì)量,提高了診斷效率。
參考文獻(xiàn)
[1]汪寧寧,金奎東,季宏波,陳秀芳,李莉,姜華.淺析X射線在醫(yī)學(xué)影像診斷領(lǐng)域的發(fā)展及應(yīng)用[J].中國(guó)衛(wèi)生標(biāo)準(zhǔn)管理,2015,(14):167-168.
[2]羅述謙.X射線成像技術(shù)在醫(yī)學(xué)中應(yīng)用[J].物理,2007,(08):602-608.
[3]苗琦,王金苗.X射線成像技術(shù)在醫(yī)學(xué)中應(yīng)用[J].微計(jì)算機(jī)信息物理通報(bào),2015,(05):124-126.
[4]陳春寧,王延杰.在頻域中利用同態(tài)濾波增強(qiáng)圖像對(duì)比度[J].微計(jì)算機(jī)信息,2007,(06):264-266.