孫殿臣
(丹東市公安局刑偵支隊 遼寧 丹東 118000)
基于MATLAB的低分辨率圖像增強(qiáng)處理
孫殿臣
(丹東市公安局刑偵支隊 遼寧 丹東 118000)
在闡明圖像增強(qiáng)處理基本方法的基礎(chǔ)上,利用MATLAB編程實現(xiàn)圖像直方圖增強(qiáng)、圖像平滑、圖像銳化這幾種有代表性的圖像增強(qiáng)方法,并對這些圖像增強(qiáng)方法進(jìn)行研究比較,分析了各自的優(yōu)缺點并指明其最佳適用場景,以期從中總結(jié)出一套行之有效的圖像增強(qiáng)方法的應(yīng)用指導(dǎo)規(guī)則,為實際應(yīng)用提供一定的依據(jù)。
圖像增強(qiáng) MATLAB 分辨率 圖像平滑 圖像銳化 直方圖
現(xiàn)代社會信息技術(shù)的飛速發(fā)展,數(shù)碼設(shè)備的廣泛應(yīng)用和數(shù)字圖像處理技術(shù)的普及,給人們?nèi)粘I顜砹藰O大的方便,也對社會的發(fā)展產(chǎn)生了極大的影響。數(shù)字圖像屬于視聽資料的重要內(nèi)容之一,是一種新型的訴訟證據(jù)。隨著視聽資料在我國各個領(lǐng)域的廣泛使用,它已在民事、刑事的各類案件中頻繁地出現(xiàn)。與模擬圖像相比,數(shù)字圖像具有顯著優(yōu)點,即精度高、處理方便、重復(fù)性好,但是受到各種不利的客觀條件影響,辦案民警往往會得到一些低分辨率數(shù)字圖像。低分辨率圖像模糊不清,不利于分析,對案件的偵破有很大的影響,為了便于對比和鑒定,必須對圖像進(jìn)行增強(qiáng)處理以獲得較好的、能反映出客觀物體具體特征的圖像。
目前,對低分辨率圖像處理的研究已經(jīng)非常廣泛,PHOTOSHOP、ACDSEE等常見圖像處理軟件都可以對低分辨率數(shù)字圖像進(jìn)行處理。但是,這些方法在對一些特別圖像去噪、突出細(xì)節(jié)等方面不能取得理想效果。MATLAB是一種直譯式語言,主要功能是做矩陣的數(shù)字運(yùn)算,它的數(shù)值分析、模擬與運(yùn)算功能也非常強(qiáng)大,而且程序結(jié)構(gòu)完整,又具有很強(qiáng)的平行移植性,目前已廣泛應(yīng)用于圖像增強(qiáng)處理的領(lǐng)域。基于MATLAB對低分辨率數(shù)字圖像進(jìn)行增強(qiáng)處理針技術(shù)是對傳統(tǒng)圖像增強(qiáng)技術(shù)存在的一些缺陷而提出的,其具有效率高、操作方便、增強(qiáng)處理效果好等優(yōu)點,這項技術(shù)引起了人們對它的廣泛關(guān)注和研究。同樣,在公安領(lǐng)域?qū)嵺`中,它也有著廣泛的應(yīng)用潛力和重要價值,應(yīng)用前景十分廣闊。
圖像就是用各種觀測系統(tǒng)觀測客觀世界獲得的且可以直接或間接作用于人眼而產(chǎn)生視覺的實體?!皥D像是對客觀對象的一種相似性的、生動性的描述或?qū)懻?。?/p>
圖像的種類很多,按圖像空間坐標(biāo)和亮度或色彩的連續(xù)性可分為模擬圖像和數(shù)字圖像。模擬圖像是指空間坐標(biāo)和亮度都是連續(xù)變化的圖像。數(shù)字圖像就是經(jīng)過采樣和量化后的圖像,是空間坐標(biāo)和灰度均不連續(xù)的、用離散數(shù)字(一般用整數(shù))表示的圖像??啥x為一個二維函數(shù)f(x,y),這里x和y是空間坐標(biāo),而在任何一對空間坐標(biāo)(x,y)上的幅值f稱為該點圖像的強(qiáng)度或灰度。當(dāng)x,y和幅值f為有限的、離散的數(shù)值時,稱該圖像為數(shù)字圖像。描述數(shù)字圖像的基本參數(shù)有3個,即圖像分辨率、圖像深度和圖像數(shù)據(jù)容量。
數(shù)字圖像處理(Digital Image Processing)又稱為計算機(jī)圖像處理,它是指將圖像信號轉(zhuǎn)換成數(shù)字信號并利用計算機(jī)對圖像進(jìn)行去除噪聲、增強(qiáng)、復(fù)原、分割、特征提取、圖像重建等處理的理論、方法和技術(shù),是一門新興的、發(fā)展迅速的科學(xué)技術(shù)學(xué)科。
圖像分辨率是一個表示平面圖像精細(xì)程度的概念,是指對原始圖像的采樣分辨率,也就是指圖像水平或垂直方向單位長度上所包含的采樣點數(shù)。在一個固定的平面內(nèi),分辨率越高,意味著可使用的點越多,圖像越細(xì)致。單位是“像素點/單位長度”,例如:像素點 /毫米(pixel/mm)、像素點 /英寸(pixel/inch或PPI)。
實際應(yīng)用中,在描述顯示器的圖像分辨率時,往往簡單地以顯示屏的有效范圍內(nèi)水平方向掃描線上的像素點總數(shù)和垂直方向上的掃描線總數(shù)的乘積來界定。例如,640×480的VGA顯示器的分辨率在水平方向為640個像素點,垂直方向為480個像素點。
圖像增強(qiáng)是數(shù)字處理的基本內(nèi)容之一,是突出一幅給定的圖像中的某些信息、削弱或去除某些不需要的信息的處理方法,目的是使處理后的結(jié)果對某種特定的應(yīng)用來說比原始圖像更適用。應(yīng)該明確的是,增強(qiáng)處理是為了特定的目的去改善圖像的質(zhì)量,它并不能增加原始圖像的信息,有時甚至?xí)p失一些信息。
圖像增強(qiáng)的兩大應(yīng)用:一是加強(qiáng)對特定信息的識別能力,改善圖像的視覺效果;二是突出圖像特征,便于計算機(jī)處理。
圖像增強(qiáng)處理技術(shù)基本上可以分成兩大類:
(1)頻域處理法:以卷積定理為基礎(chǔ),采用修改圖像傅立葉變換增強(qiáng)其頻率分量的方法實現(xiàn)對圖像的增強(qiáng)處理。
(2)空域處理法:直接對圖像中的像素進(jìn)行處理,基本上是以灰度映射變換為基礎(chǔ)的。
圖像增強(qiáng)主要內(nèi)容包括直方圖修改處理、圖像平滑、圖像銳化等,此外有關(guān)數(shù)學(xué)形態(tài)學(xué)的方法也能起到一些特定的圖像增強(qiáng)作用,在實際應(yīng)用中必須根據(jù)具體的情況而選用其中一種或多種方法對圖像進(jìn)行針對性處理。
4.1 實驗方案設(shè)計
4.1.1 實驗設(shè)備及圖像處理軟件
數(shù)碼相機(jī)(NIKON D—80,800萬像素);計算機(jī)(Acer5572,酷睿2雙核T2250處理器,Geforce 7300獨顯);編程運(yùn)算使用的是MATLAB6.5軟件。
4.1.2 實驗過程
(1)拍攝原始樣本圖像。為了便于在MATLAB中進(jìn)行矩陣減法運(yùn)算,拍攝出符合本文相關(guān)要求的實驗圖像。
(2)將圖像存于相關(guān)文件夾。MATLAB支持五種圖像類型:索引圖像、灰度圖像、二值圖像、RGB圖像和多幀圖像陣列;支持BMP,GIF,HDF,JPEG,PCX,PNG,TIFF,XWD,CUR,ICO等圖像文件格式的讀、寫和顯示。在實驗前,先把相關(guān)圖像存于MATLAB文件夾里的Work文件夾里,這樣便于調(diào)出圖像進(jìn)行處理。
(3)在MATLAB中進(jìn)行編程運(yùn)算(具體編碼見附錄):
使用函數(shù)imread讀取圖像,并用函數(shù)imshow顯示。
用MATLAB中提供的專門繪制直方圖的函數(shù)imhist()、調(diào)整對比度函數(shù)imadjust()和直方圖均衡化函數(shù)histeq()進(jìn)行編程,繪制出圖像的灰度直方圖、灰度級調(diào)整后的直方圖和均衡化的直方圖,以及相應(yīng)的圖像。
利用MATLAB編程,針對含有不同噪聲類型的圖像,分別采取均值濾波、中值濾波、自適應(yīng)濾波3種濾波方法對圖像去噪進(jìn)行平滑處理。
利用MATLAB編程,運(yùn)用Sobel算子法和拉普拉斯算子法、Prewitt算子法以及高通濾波器法對圖像進(jìn)行銳化處理。
4.2 實驗內(nèi)容和結(jié)果
4.2.1 灰度調(diào)整及直方圖均衡
圖像直方圖是圖像處理中一種十分重要的圖像分析工具,它描述了一幅圖像的灰度級內(nèi)容,統(tǒng)計一幅圖像中各個灰度級出現(xiàn)的次數(shù)或概率。光照度不夠均勻就會造成圖像灰度過于集中,圖像質(zhì)量不可避免的降低,輕者表現(xiàn)為圖像不干凈,難于看清細(xì)節(jié);重者表現(xiàn)為圖像模糊不清,連概貌也看不出來。
MATLAB中提供了專門繪制直方圖的函數(shù)imhist ()、調(diào)整灰度函數(shù)imadjust()和直方圖均衡化函數(shù)histeq()。用它們可以很簡單地繪制出圖像的灰度直方圖、灰度級調(diào)整后的直方圖和均衡化的直方圖。
灰度調(diào)整及直方圖均衡結(jié)果如圖1~6所示。
圖1 人物原圖
圖2 原圖直方圖
圖3 灰度級調(diào)整后
圖4 調(diào)整后直方圖
圖5 直方圖均衡后
圖6 均衡后直方圖
從效果圖可以看出,經(jīng)過圖像灰度調(diào)整,圖像變亮,而且可以看到更多的細(xì)節(jié);經(jīng)過直方圖均衡化處理后,圖像變的清晰,處理后的圖像直方圖分布更均勻,在每個灰度級上圖像都有像素點。
4.2.2 圖像平滑處理
(1)首先,用MATLAB6.5進(jìn)行編程模擬常見噪聲:高斯噪聲、椒鹽噪聲、乘性噪聲和加性噪聲,如圖7~11所示。函數(shù)格式如下:imnoise(I,'gaussian',0,0.005);imnoise(I,'salt&pepper',0.005);imnoise(I,'speckle',0.02);imnoise(I,'localvar',N)。
圖7 風(fēng)景原始圖像
圖8 高斯噪聲
圖9 椒鹽噪聲
圖10 乘性噪聲
圖11 加性噪聲
(2)均值濾波。均值濾波是簡單的空域處理方法,均值濾波的過程是使一個窗口在圖像上滑動,窗中心位置的值用窗內(nèi)各點值的平均值來代替,在MATLAB里可以用函數(shù)conv2()實現(xiàn)均值濾波。
均值濾波結(jié)果如圖12~17所示。
圖12 高斯噪聲均值濾波
圖13 椒鹽噪聲均值濾波
圖14 乘性噪聲均值濾波
圖15 加性噪聲均值濾波
圖16 3×3濾波
圖17 9×9濾波
從實驗結(jié)果可以看出,采用鄰域平均法的均值濾波器對消除高斯噪聲和乘性噪聲有著不錯的效果。但是,鄰域平均法在消除噪聲的同時也平滑了圖像信號,使圖像變得模糊。9×9濾波后圖像比3×3濾波后圖像模糊很多。
(3)中值濾波。二維中值濾波器的函數(shù)格式如下:①B=Medfilt2(A,[m n]);②B=Medfilt2(A);③B=Medfilt2(A,'indexed',…)。
說明:對于格式①,Medfilt2對矩陣進(jìn)行二維中值濾波。中值濾波所用的窗口大小為m×n,即以輸入圖像各點為中心的m×n鄰域作為輸出圖像該點處的像素值,[m n]的缺省值為[3 3]。對于格式②,Medfilt2使用[3 3]窗口對A進(jìn)行二維中值濾波。對于格式③,Medfilt2可將A當(dāng)作索引圖像處理,如A為uint 8類,填補(bǔ)0;如A為雙精度類,則填補(bǔ)1。
中值濾波結(jié)果如圖18~21所示。
圖18 高斯噪聲中值濾波
圖19 椒鹽噪聲中值濾波
圖20 乘性噪聲中值濾波
圖21 加性噪聲中值濾波
從圖中可以看出,中值濾波對于濾除圖像的椒鹽噪聲非常有效,在噪聲圖像上的椒鹽噪聲斑點全部被去除。
(4)自適應(yīng)濾波。MATLAB7.0圖像處理工具箱中的wiener2函數(shù)可以實現(xiàn)對圖像噪聲的自適應(yīng)濾除。自適應(yīng)濾波結(jié)果如圖22~25所示。
圖22 高斯噪聲自適應(yīng)濾波
圖23 椒鹽噪聲自適應(yīng)濾波
圖24 乘性噪聲自適應(yīng)濾波
圖25 加性噪聲自適應(yīng)濾波
從效果圖可以看到,自適應(yīng)濾波更好地保存圖像的邊緣和高頻細(xì)節(jié)信息,對高斯噪聲、鹽椒噪聲處理效果很好。
4.2.3 圖像銳化處理
(1)微分法。BW=eg((I,'laplacian'),BW=eg((I,'sobel'),BW=eg((I,'prewitt')。
圖26 房屋原始圖像
圖27 拉普拉斯算子
圖28 Sobel算子
圖29 Prewitt算子
從圖中我們可以發(fā)現(xiàn),比較模糊的原始圖像和經(jīng)過各種算子運(yùn)算后的圖像,圖像模糊的部分得到銳化,特別是模糊的邊緣部分得到增強(qiáng),邊界更加明顯。但是,圖像顯示清楚的地方,經(jīng)過濾波發(fā)生了失真,這也是運(yùn)用算子進(jìn)行圖像增強(qiáng)的一大缺點。
(2)Butterworth高通濾波器
圖30 房屋原始圖像
圖31 Butterworth濾波
圖32 對比度調(diào)整
圖33 對比度最大化
從效果圖中我們可以看出,高頻增強(qiáng)后圖像偏暗,對比度差,需要對圖像進(jìn)行對比度增強(qiáng)處理。
運(yùn)用MATLAB編程實現(xiàn)低分辨率圖像增強(qiáng)處理,分析對比結(jié)果如下。
(1)用直方圖修改技術(shù)實現(xiàn)圖像增強(qiáng),總結(jié)分析如下。
①對比度較低,畫面較暗的圖像,灰度級集中在暗區(qū)[0,120]范圍內(nèi),如果只取這個范圍內(nèi)的灰度,并擴(kuò)展到[0,255],則會明顯增強(qiáng)圖像對比度。經(jīng)灰度級調(diào)整,使灰度級分布在人眼合適的亮度區(qū)域,圖像變亮,而且可以看到更多的細(xì)節(jié)。
②經(jīng)過直方圖均衡化處理后,圖像直方圖分布更為均勻,圖像在每個灰度級上都有像素點,擴(kuò)展了像素取值的動態(tài)范圍,圖像變得清晰。
(2)針對含有噪聲的圖像進(jìn)行平滑處理,總結(jié)分析如下。
圖像經(jīng)過均值濾波后,噪聲得到抑制,圖像也得到平滑,但同時也使圖像邊緣變得模糊。鄰域越大,像素點越多,則信噪比提高越大,平滑效果越好,但是圖像模糊也越嚴(yán)重。從實驗效果圖可以看出,采用鄰域平均法的均值濾波器非常適用于高斯噪聲和乘性噪聲。
中值濾波方法簡單,易于實現(xiàn),而且能較好地保護(hù)邊界,但對圖像中的細(xì)節(jié)處理不理想,有時會失掉圖像中的細(xì)線和小塊目標(biāo)區(qū)域。中值濾波器對于濾除圖像中的椒鹽噪聲非常有效,基本可以把椒鹽噪聲去除。
自適應(yīng)濾波具有更好的選擇性,它不但使噪聲得到了抑制,且更好地保存圖像的邊緣和高頻細(xì)節(jié)信息,使得目標(biāo)比經(jīng)均值濾波和中值濾波處理的更清晰。自適應(yīng)濾波對于消除高斯噪聲效果好。
均值濾波、中值濾波和自適應(yīng)濾波去除加性噪聲的效果均不理想。
(3)針對模糊圖像進(jìn)行銳化處理,總結(jié)分析如下。
運(yùn)用微分法的Sobel算子法和Prewitt算子以及拉氏算子可以使圖像模糊的邊緣得到增強(qiáng),但是圖像顯示清楚的地方也發(fā)生了失真,這是一大缺點。在這三種算子算法銳化邊緣時,拉氏算子的效果比較好,邊緣清晰;Sobel算子和Prewitt算子對圖像銳化后邊緣得到加強(qiáng),但是分界點不明確,效果不如拉氏算子。
運(yùn)用Butterworth高通濾波器對模糊圖像進(jìn)行銳化后圖像偏暗,對比度差,經(jīng)過對比度增強(qiáng)處理后可以得到理想的銳化效果。
本文就MATLAB在數(shù)字圖像增強(qiáng)處理方面進(jìn)行了闡述、討論,重點研究了直方圖增強(qiáng)、平滑濾波、銳化等圖像增強(qiáng)方法的MATLAB實現(xiàn)。實驗結(jié)果表明,應(yīng)用MATLAB進(jìn)行圖像增強(qiáng)處理可以得到理想的效果,直方圖增強(qiáng)法適用于對比度較低、畫面較暗的圖像,可以使圖像變得清晰;平滑濾波能較好地消除圖像在傳輸和轉(zhuǎn)換過程中產(chǎn)生的噪聲,改善圖像的質(zhì)量;銳化處理能突出模糊圖像的邊緣,使圖像利于分析。MATLAB具有編程簡單直觀、用戶界面友善、開放性強(qiáng)等優(yōu)點,為公安領(lǐng)域?qū)嶋H辦案中遇到的圖像增強(qiáng)問題提供了一種簡單、快捷而又有效的解決方法。
1.賈永紅.數(shù)字圖像處理[M].武漢:武漢大學(xué)出版社,2004
2.阮秋琦.數(shù)字圖像處理學(xué)[M].第二版.北京:電子工業(yè)出版社,2007
3.郝文化.MATLAB圖形圖像處理應(yīng)用教程[M].北京:中國水利水電出版社,2005
4.張志涌.精通MATLAB6.5版[M].北京:北京航空航天大學(xué)出版社,2003
5.景曉軍.圖像處理技術(shù)及其應(yīng)用[M].北京:國防工業(yè)出版社,2005
6.羅君輝,馮平,哈利旦·A.MATLAB7.0在圖像處理中的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2005
7.蘇金明.MATLAB圖形圖像處理[M].北京:電子工業(yè)出版社,2005
8.余成波.數(shù)字圖像處理 MATLAB實現(xiàn)[M].重慶:重慶大學(xué)出版社,2003
9.朱寶禮.刑事圖像技術(shù)[M].北京:中國人民公安大學(xué)出版社,2002
10.耿生玲.圖像的平滑和銳化[J].青海師范大學(xué)學(xué)報,2003,(8)
11.楊威明.圖像增強(qiáng)處理方法[J].北京理工大學(xué)學(xué)報,2005,(3)
12.鄒艷碧.自適應(yīng)濾波算法綜述[J].廣州大學(xué)學(xué)報,2002,(3)
13.唐國濤.圖像銳化處理[J].廣西大學(xué)學(xué)報,2006,(9)
14.MaherASid-Ahmel.ImageProcessing Theory [M].New York:Mcgrawhid Inc.,1995
15.Rafael C.Gonzalez,Richard E.Wood.DigitalImage Processin[M].Second Edition.北京:電子工出版社,2004
16.Kenneth R.Castleman.Digital Image Processing[M].北京:電子工業(yè)出版社,2006