陳秀艷, 張 楠, 高 朋
(沈陽師范大學(xué) 物理科學(xué)與技術(shù)學(xué)院, 沈陽 110034)
數(shù)字圖像處理又被稱為計算機(jī)圖像處理[1],是一種將圖像信號轉(zhuǎn)換為數(shù)字信號存儲到計算機(jī)中的技術(shù),其處理過程主要包括增強(qiáng)、除噪、分割、復(fù)原、編碼、壓縮和提取特征等。這種數(shù)字處理技術(shù)精度高、處理內(nèi)容豐富并且可處理復(fù)雜的非線性問題,被廣泛應(yīng)用于各種領(lǐng)域。王皓石[2]利用混沌理論和方法獲取了二維、三維混沌吸收子,為圖像處理技術(shù)的發(fā)展提供了新思路。在濾波處理的研究中,更是出現(xiàn)了很多不同的方法。唐晨等[3]根據(jù)選擇退化模型和變分法構(gòu)造了方向偏微分方程,是濾波方法重要的轉(zhuǎn)折點。李欣[4]基于噪聲概念提出一種新的除噪方法,認(rèn)為噪聲是相對的、局部的,需要給定一定的閾值去判斷該像素是否屬于噪聲,更加準(zhǔn)確地進(jìn)行了圖像的部分保留和去除。王鑫[5]采用正余弦濾波算法和反正切變換,有效地濾去了噪聲,使得后續(xù)解包裹操作更加順利,也提高了測量相位的精度。吳雙樂等[6]依據(jù)條紋區(qū)域的特征,對比多種常規(guī)的邊緣檢測方法,提出一種以二階梯度熵函數(shù)為基礎(chǔ)的條紋區(qū)域自動提取判定函數(shù),確定了檢驗子區(qū)熵的最佳尺寸區(qū)間,并完成了對條紋區(qū)域的自動提取。
由此看來,在圖像增強(qiáng)、濾波、細(xì)化等方面,研究方法種類繁多,這也導(dǎo)致圖像處理結(jié)果在條紋清晰度和噪聲分布方面略有差異[7]。但大部分學(xué)者只針對某一過程進(jìn)行比對和分析,本文則利用MATLAB[8]工具依次在圖像增強(qiáng)過程中使用像素增加、對數(shù)變換、取反變換和分段線性變換的方法,在濾波過程中分別采用高斯濾波、中值濾波和均值濾波對圖像進(jìn)行處理,在開閉操作過程中選用不同閾值的閉操作[9],從而得到細(xì)化后的條紋圖像,通過對比各種方法處理后的圖像效果,分析并總結(jié)得出一種較為有效的圖像處理方法。
圖1為激光散斑實驗光路圖, 激光由激光器發(fā)出, 經(jīng)過擴(kuò)束鏡后形成有一定發(fā)射角的發(fā)散光, 再通過透鏡變?yōu)闇?zhǔn)直光束, 照射到固定在螺旋測微器上的毛玻璃(可通過調(diào)節(jié)螺旋測微器來達(dá)到毛玻璃微小位移[10]的目的), 最后由CCD(charge-coupled device)攝像頭拍攝毛玻璃移動前后形成的散斑圖像[11]。
圖1 激光散斑實驗光路圖Fig.1 Optical path diagram of laser speckle experiment
對比CCD獲取毛玻璃移動前后的散斑圖。為了使實驗結(jié)果更加準(zhǔn)確,可在計算機(jī)中存儲幾組不同位移下的數(shù)據(jù),但本文主要研究圖像儲存后的處理問題[12],因此,僅拿一組圖像(圖2和圖3)展開探究,利用MATLAB工具使以上2幅圖像疊加得到如圖4所示的疊加散斑圖。
圖2 移動前的散斑圖
圖3 移動后的散斑圖Fig.3 Moving speckle pattern
圖4 圖像疊加的條紋圖
常見的圖像增強(qiáng)方式是直接處理散斑疊加圖像,這里選取4種強(qiáng)化操作過程:一是線性變換(增加像素)。將圖像中的全部像素點增加同一個閾值,目的是可以使整張圖片變得更亮,觀測到一些隱藏在暗處的信息。二是對數(shù)變換。利用灰度變換函數(shù)擴(kuò)展圖像中的灰度值區(qū)域,壓縮高灰度值區(qū)域,以此達(dá)到增強(qiáng)低灰度部分的目的,其中高低灰度值的劃分范圍由學(xué)者自行調(diào)整,通過改變輸入的閾值而改變增強(qiáng)的力度。三是取反變換。反運算就是將原本白的區(qū)域變?yōu)楹诘膮^(qū)域,原本黑的區(qū)域變?yōu)榘椎膮^(qū)域。四是分段線性變換。通常用于突出某些目標(biāo)區(qū)域或抑制不需要的灰度部分,一般采用三段式線性變換法,可通過調(diào)整函數(shù)的分段范圍和分段函數(shù)的斜率來控制圖像處理的位置和處理的效果,此方法多用于二值圖像中存在噪聲的情況,但通常變換后圖像的灰度值減少,導(dǎo)致圖像中某些細(xì)節(jié)消失,處理后的結(jié)果如圖5~8所示。
圖5 像素加100Fig.5 Pixel plus 100圖6 對數(shù)Fig.6 Logarithmic圖7 取反Fig.7 Inverse圖8 分段線性Fig.8 Piecewise linear
常見的濾波有中值濾波、均值濾波和高斯濾波。為了選取更好的圖像處理方式,選取上述效果較好的圖像,如像素增加、對數(shù)變換、取反操作后的圖像進(jìn)行3種濾波處理,對比結(jié)果見表1。
表1 圖像增強(qiáng)處理后的不同種濾波結(jié)果匯總Table 1 Summary of different filtering results after image enhancement processing
當(dāng)濾波處理效果不理想時,為了增強(qiáng)圖像特點,還可以采取二值化的手段進(jìn)行圖像信息處理。二值化為MATLAB中自帶函數(shù),操作簡單,可根據(jù)圖像灰度值自動調(diào)節(jié)二值化閾值完成圖像處理。將以上3種操作后的圖像全部二值化作對比,處理結(jié)果如圖9~11所示。
圖9 像素加100Fig.9 Pixels plus 100圖10 對數(shù)變換Fig.10 Logarithmic transformation圖11 取反Fig.11 Inverted
通過對比可知,線性變換(像素加100)后再進(jìn)行二值化的效果最為理想,條紋更加清晰,噪點相對于條紋分布較少,且像素增強(qiáng)的閾值可根據(jù)條紋特點進(jìn)行更改。
開閉操作屬于形態(tài)學(xué)操作[13],是基于形狀的一系列圖像處理操作,將結(jié)構(gòu)元素作用于輸入圖像以產(chǎn)生輸出圖像。形態(tài)學(xué)操作主要包括膨脹、腐蝕、開、閉,簡單來說,膨脹會使圖像“變胖”,而腐蝕會讓圖像“變瘦”。其中開操作指的是先腐蝕再膨脹,目的為去除孤立的小點、毛刺和小橋(連通2塊區(qū)域的小點)而總位置和形狀不變;閉操作指的是先膨脹再腐蝕,目的為能填平小孔、彌合小孔補(bǔ)縫而總的位置和形狀不變。根據(jù)研究得到散斑圖像特點,需先將圖像中空洞填補(bǔ)上再進(jìn)行圖像細(xì)化,所以首選閉操作進(jìn)行處理,處理結(jié)果見表2。
表2 不同增強(qiáng)處理后的開閉操作結(jié)果Table 2 Opening and closing operation results after different enhancement treatments
對比以上幾組圖像可以發(fā)現(xiàn),像素增加后的閉操作得到的數(shù)據(jù)最為清晰,不過依舊有空洞較大的問題。針對此問題,將對像素加100后的圖像進(jìn)行更深入的研究,通過設(shè)置不同的閾值進(jìn)行閉操作。當(dāng)閾值設(shè)置為0.7時,圖像效果最為理想;當(dāng)閾值過大,圖像條紋連接在一起,條紋中心不易提取;當(dāng)閾值過小時,條紋中空洞過多,不易連接成條紋,影響骨架提取[14]。
骨架提取是提取目標(biāo)在圖像上的中心像素輪廓,簡單地說,就是以目標(biāo)中心為準(zhǔn),對目標(biāo)進(jìn)行細(xì)化[15],一般細(xì)化后的目標(biāo)都是單層像素[16]寬度,包括對圖像進(jìn)行灰度處理(圖12)、二值化處理(圖13)、去噪處理(圖14)、骨化處理(圖15)和去毛刺處理(圖16)。
圖12 灰度圖Fig.12 Gray scale圖13 二值化Fig.13 Binarization圖14 去噪后圖像Fig.14 Denoised image圖15 骨化圖像Fig.15 Ossification image圖16 去毛刺Fig.16 Burring
由圖12~16可知,骨化后的圖像毛刺較多,不利于條紋間距的提取,可再進(jìn)行一次去毛刺的操作,得到較為理想的條紋效果,即可根據(jù)需要進(jìn)行間距提取。
本文在圖像增強(qiáng)、濾波和開閉操作中利用MATLAB的不同處理方法得到了不同質(zhì)量的條紋圖像。通過對比像素增加、對數(shù)變換、取反變換和分段性變換這幾種增強(qiáng)圖像的效果,發(fā)現(xiàn)像素增加方法更有利于后期二值化的處理;采用均值濾波、中值濾波、高斯濾波和直接二值化的方法分別對增強(qiáng)后的圖像進(jìn)行處理,結(jié)果表明直接二值化的條紋圖樣更加清晰;又比對了不同閾值后的膨脹、腐蝕處理效果,發(fā)現(xiàn)閾值為0.7的閉操作使得條紋更加連貫,同時為處理圖像做了良好的準(zhǔn)備。綜上所述,經(jīng)過相加、像素增加、二值化、閉操作和骨架提取后的條紋圖像更有利于此后條紋間距的測量。