陳秀艷, 張 楠, 高 朋
(沈陽師范大學 物理科學與技術學院, 沈陽 110034)
數字圖像處理又被稱為計算機圖像處理[1],是一種將圖像信號轉換為數字信號存儲到計算機中的技術,其處理過程主要包括增強、除噪、分割、復原、編碼、壓縮和提取特征等。這種數字處理技術精度高、處理內容豐富并且可處理復雜的非線性問題,被廣泛應用于各種領域。王皓石[2]利用混沌理論和方法獲取了二維、三維混沌吸收子,為圖像處理技術的發展提供了新思路。在濾波處理的研究中,更是出現了很多不同的方法。唐晨等[3]根據選擇退化模型和變分法構造了方向偏微分方程,是濾波方法重要的轉折點。李欣[4]基于噪聲概念提出一種新的除噪方法,認為噪聲是相對的、局部的,需要給定一定的閾值去判斷該像素是否屬于噪聲,更加準確地進行了圖像的部分保留和去除。王鑫[5]采用正余弦濾波算法和反正切變換,有效地濾去了噪聲,使得后續解包裹操作更加順利,也提高了測量相位的精度。吳雙樂等[6]依據條紋區域的特征,對比多種常規的邊緣檢測方法,提出一種以二階梯度熵函數為基礎的條紋區域自動提取判定函數,確定了檢驗子區熵的最佳尺寸區間,并完成了對條紋區域的自動提取。
由此看來,在圖像增強、濾波、細化等方面,研究方法種類繁多,這也導致圖像處理結果在條紋清晰度和噪聲分布方面略有差異[7]。但大部分學者只針對某一過程進行比對和分析,本文則利用MATLAB[8]工具依次在圖像增強過程中使用像素增加、對數變換、取反變換和分段線性變換的方法,在濾波過程中分別采用高斯濾波、中值濾波和均值濾波對圖像進行處理,在開閉操作過程中選用不同閾值的閉操作[9],從而得到細化后的條紋圖像,通過對比各種方法處理后的圖像效果,分析并總結得出一種較為有效的圖像處理方法。
圖1為激光散斑實驗光路圖, 激光由激光器發出, 經過擴束鏡后形成有一定發射角的發散光, 再通過透鏡變為準直光束, 照射到固定在螺旋測微器上的毛玻璃(可通過調節螺旋測微器來達到毛玻璃微小位移[10]的目的), 最后由CCD(charge-coupled device)攝像頭拍攝毛玻璃移動前后形成的散斑圖像[11]。

圖1 激光散斑實驗光路圖Fig.1 Optical path diagram of laser speckle experiment
對比CCD獲取毛玻璃移動前后的散斑圖。為了使實驗結果更加準確,可在計算機中存儲幾組不同位移下的數據,但本文主要研究圖像儲存后的處理問題[12],因此,僅拿一組圖像(圖2和圖3)展開探究,利用MATLAB工具使以上2幅圖像疊加得到如圖4所示的疊加散斑圖。

圖2 移動前的散斑圖

圖3 移動后的散斑圖Fig.3 Moving speckle pattern

圖4 圖像疊加的條紋圖
常見的圖像增強方式是直接處理散斑疊加圖像,這里選取4種強化操作過程:一是線性變換(增加像素)。將圖像中的全部像素點增加同一個閾值,目的是可以使整張圖片變得更亮,觀測到一些隱藏在暗處的信息。二是對數變換。利用灰度變換函數擴展圖像中的灰度值區域,壓縮高灰度值區域,以此達到增強低灰度部分的目的,其中高低灰度值的劃分范圍由學者自行調整,通過改變輸入的閾值而改變增強的力度。三是取反變換。反運算就是將原本白的區域變為黑的區域,原本黑的區域變為白的區域。四是分段線性變換。通常用于突出某些目標區域或抑制不需要的灰度部分,一般采用三段式線性變換法,可通過調整函數的分段范圍和分段函數的斜率來控制圖像處理的位置和處理的效果,此方法多用于二值圖像中存在噪聲的情況,但通常變換后圖像的灰度值減少,導致圖像中某些細節消失,處理后的結果如圖5~8所示。

圖5 像素加100Fig.5 Pixel plus 100圖6 對數Fig.6 Logarithmic圖7 取反Fig.7 Inverse圖8 分段線性Fig.8 Piecewise linear
常見的濾波有中值濾波、均值濾波和高斯濾波。為了選取更好的圖像處理方式,選取上述效果較好的圖像,如像素增加、對數變換、取反操作后的圖像進行3種濾波處理,對比結果見表1。

表1 圖像增強處理后的不同種濾波結果匯總Table 1 Summary of different filtering results after image enhancement processing
當濾波處理效果不理想時,為了增強圖像特點,還可以采取二值化的手段進行圖像信息處理。二值化為MATLAB中自帶函數,操作簡單,可根據圖像灰度值自動調節二值化閾值完成圖像處理。將以上3種操作后的圖像全部二值化作對比,處理結果如圖9~11所示。

圖9 像素加100Fig.9 Pixels plus 100圖10 對數變換Fig.10 Logarithmic transformation圖11 取反Fig.11 Inverted
通過對比可知,線性變換(像素加100)后再進行二值化的效果最為理想,條紋更加清晰,噪點相對于條紋分布較少,且像素增強的閾值可根據條紋特點進行更改。
開閉操作屬于形態學操作[13],是基于形狀的一系列圖像處理操作,將結構元素作用于輸入圖像以產生輸出圖像。形態學操作主要包括膨脹、腐蝕、開、閉,簡單來說,膨脹會使圖像“變胖”,而腐蝕會讓圖像“變瘦”。其中開操作指的是先腐蝕再膨脹,目的為去除孤立的小點、毛刺和小橋(連通2塊區域的小點)而總位置和形狀不變;閉操作指的是先膨脹再腐蝕,目的為能填平小孔、彌合小孔補縫而總的位置和形狀不變。根據研究得到散斑圖像特點,需先將圖像中空洞填補上再進行圖像細化,所以首選閉操作進行處理,處理結果見表2。

表2 不同增強處理后的開閉操作結果Table 2 Opening and closing operation results after different enhancement treatments
對比以上幾組圖像可以發現,像素增加后的閉操作得到的數據最為清晰,不過依舊有空洞較大的問題。針對此問題,將對像素加100后的圖像進行更深入的研究,通過設置不同的閾值進行閉操作。當閾值設置為0.7時,圖像效果最為理想;當閾值過大,圖像條紋連接在一起,條紋中心不易提取;當閾值過小時,條紋中空洞過多,不易連接成條紋,影響骨架提取[14]。
骨架提取是提取目標在圖像上的中心像素輪廓,簡單地說,就是以目標中心為準,對目標進行細化[15],一般細化后的目標都是單層像素[16]寬度,包括對圖像進行灰度處理(圖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可知,骨化后的圖像毛刺較多,不利于條紋間距的提取,可再進行一次去毛刺的操作,得到較為理想的條紋效果,即可根據需要進行間距提取。
本文在圖像增強、濾波和開閉操作中利用MATLAB的不同處理方法得到了不同質量的條紋圖像。通過對比像素增加、對數變換、取反變換和分段性變換這幾種增強圖像的效果,發現像素增加方法更有利于后期二值化的處理;采用均值濾波、中值濾波、高斯濾波和直接二值化的方法分別對增強后的圖像進行處理,結果表明直接二值化的條紋圖樣更加清晰;又比對了不同閾值后的膨脹、腐蝕處理效果,發現閾值為0.7的閉操作使得條紋更加連貫,同時為處理圖像做了良好的準備。綜上所述,經過相加、像素增加、二值化、閉操作和骨架提取后的條紋圖像更有利于此后條紋間距的測量。