摘 要: 概述了數(shù)字圖像處理的基本理論知識(shí)以及發(fā)展趨勢(shì),介紹了三維人體激光條紋圖像的特點(diǎn),并重點(diǎn)講述了所選取的圖像處理算法及其實(shí)現(xiàn)過程,對(duì)非接觸式三維人體尺寸的獲取有一定的參考意義。
關(guān)鍵詞: 圖像濾波; 圖像分割; 圖像細(xì)化
1 數(shù)字圖像處理的發(fā)展趨勢(shì)
1.1數(shù)字圖像處理的概述
利用計(jì)算機(jī)對(duì)圖像進(jìn)行去除噪聲、增強(qiáng)、復(fù)原、分割、提取特征等的理論、方法和技術(shù)稱為數(shù)字圖像處理[1] (Digital Image Processing)。
1.2激光條紋圖像的特點(diǎn)
基于CCD的激光掃描系統(tǒng)采集得到的激光條紋圖像通常有以下特點(diǎn)[2]:
(1)根據(jù)目標(biāo)的表面和光學(xué)特征的差異,可以把目標(biāo)歸納為兩大類,即“明目標(biāo),暗背景”和“暗目標(biāo),明背景”。
(2)通過實(shí)驗(yàn)發(fā)現(xiàn),由于噪聲的影響,圖像的統(tǒng)計(jì)直方圖呈現(xiàn)多峰值且谷底不明顯,如果采用固定閾值的方法分割提取激光線,效果很不理想。
(3)由于干擾噪聲大,進(jìn)行預(yù)處理和分割后,得到的二值化圖像的噪聲仍很大,若只采用通用的算法細(xì)化激光線,往往達(dá)不到測量系統(tǒng)的精度要求。
2 激光條紋圖像的濾波
圖像濾波的目的主要有兩個(gè):(1)改善圖像的視覺效果,提高圖像的清晰度;(2)使圖像變得更有利于計(jì)算機(jī)的處理,便于各種特征分析。常用的圖像濾波方法有:均值濾波、中值濾波和小波變換。
2.1 均值濾波
均值濾波也稱為線性濾波,其采用的主要方法是鄰域平均法。線性濾波的基本原理是用均值代替原圖像中的各個(gè)像素值,即對(duì)待處理的當(dāng)前像素點(diǎn)(x,y),選擇一個(gè)模板,該模板由其鄰近的若干像素組成,求模板中所有像素的均值,再把該均值賦給當(dāng)前像素點(diǎn)(x,y),作為處理后圖像在該點(diǎn)上的灰度g(x,y),即
該方法有效地抑制了噪聲,但在均值的計(jì)算過程中,對(duì)目標(biāo)的邊緣點(diǎn)也進(jìn)行了均值處理,這樣降低了景物的清晰度,使畫面變得模糊。
2.2 中值濾波
中值濾波是用一個(gè)窗口在圖像上掃描,把窗口內(nèi)包含的圖像像素按灰度級(jí)的升(降)排列起來,取中間灰度值作為窗口中心像素的灰度。中值濾波的定義為:
式中Median表示取窗口中的中間值,fA(m+k,n+1)表示以像素(m,n)為中心的窗口下的各個(gè)灰度值。它的算法過程如下:
(1)選取一個(gè)正方形模板在圖像中移動(dòng),將模板中心與某像素位置重合;
(2)讀取模板下各對(duì)應(yīng)像素的灰度值;
(3)將這些灰度值按從小到大的順序排列;
(4)找出這些值的中間值;
(5)將這個(gè)中心值賦給對(duì)應(yīng)模板中心位置的像素。
中值濾波的實(shí)質(zhì)是讓與周圍像素灰度值的差比較大的像素改取與周圍像素值接近的值,從而可以消除孤立的噪聲點(diǎn)。它在消除噪聲方面的效果明顯,同時(shí)保留了圖像細(xì)節(jié),拓?fù)浣Y(jié)構(gòu)也沒有發(fā)生改變。
2.3小波變換
小波變換是一種信號(hào)的時(shí)間-尺度分析方法,它具有多分辨率分析的特點(diǎn),而且在時(shí)頻兩域都具有表征信號(hào)局部特征的能力,是一種窗口大小固定不變但其形狀可變、時(shí)間窗和頻率窗都可變的時(shí)頻局部化分析方法。
小波變換適用于去除含高頻信號(hào)較少的圖像,能很好地抑制高斯白噪聲,而且在去除噪聲的同時(shí)可以較好地保留圖像的細(xì)節(jié)。
分別采用均值濾波、中值濾波和小波變換方法對(duì)激光條紋圖像進(jìn)行濾波處理,處理結(jié)果如圖1所示。通過比較可以發(fā)現(xiàn),經(jīng)過中值濾波后的激光條紋圖像消除噪聲的效果明顯,圖像比較柔和,且激光條紋清晰,保持了圖像的細(xì)節(jié)信息,因此,該方法更適合于激光條紋圖像的處理。
3激光條紋的分割
3.1 圖像分割
所謂圖像分割[3]就是根據(jù)勻稱性的原則將圖像分為若干有意義的部分(如目標(biāo)和背景),使得每一部分都符合某種一致性的要求,而這時(shí)兩個(gè)部分的合并都會(huì)破壞這種一致性。這也是將N×N像素的圖像劃分成若干個(gè)互不交疊的區(qū)域的過程,每個(gè)區(qū)域是一個(gè)像素的集合,它們具有一致的“有意義”的屬性,相鄰的區(qū)域之間存在著一定的屬性差異,形成了區(qū)域間的邊界。
圖像閾值分割主要利用圖像中要提取的目標(biāo)物體與背景在灰度上的差異,把圖像分為具有不同灰度級(jí)的目標(biāo)區(qū)域和背景區(qū)域的組合。閾值化圖像分割技術(shù)的基本思想是:
設(shè)f(x,y)是圖像(x,y)處的灰度值,灰度級(jí)為256,如果灰度值T是圖像的一個(gè)閾值,則經(jīng)過閾值化處理的圖像可以定義為[4]:
閾值化圖像分割的關(guān)鍵是恰當(dāng)選擇分割閾值,如果閾值選得過高,則過多的目標(biāo)點(diǎn)被誤歸納為背景,反之出現(xiàn)相反的情況,這必然會(huì)影響分割出來的目標(biāo)的大小和形狀。
3.2 激光條紋圖像分割
對(duì)于激光條紋圖像,激光條紋分割就是要將圖像中的激光線突顯出來。本文即采用閾值分割法對(duì)激光條紋圖像進(jìn)行分割處理,處理之后的圖像是一幅只含有激光條紋的黑白二值圖像。
因此本文采用的是整體閾值與動(dòng)態(tài)閾值相結(jié)合的方法,以改善圖像分割效果。算法實(shí)現(xiàn)的步驟如下:
(1)將圖像分割成一系列的子圖像;
(2)計(jì)算出每個(gè)子圖像的閾值;
(3)將計(jì)算出來的閾值構(gòu)成一個(gè)矩陣,并對(duì)其進(jìn)行插值,使之成為與原圖像大小相同的矩陣,設(shè)得到的矩陣為Y;
(4)計(jì)算出圖像的整體閾值t,構(gòu)造一個(gè)與原圖像大小相同的矩陣F,令F的每個(gè)元素大小均為t;
(5)構(gòu)造矩陣m,m與f、y的關(guān)系如式(4)所示。以M作為圖像的灰度閾值,將圖像的每個(gè)像素與M進(jìn)行比較。設(shè)目標(biāo)物體為圖像中較亮的部分,如果y的值比M大,則判為目標(biāo),反之則判為背景。
如圖2所示,當(dāng)k=0.1時(shí),有背景點(diǎn)被判為目標(biāo);當(dāng)k=0.7時(shí),有目標(biāo)點(diǎn)被判為背景;當(dāng)取k=0.3時(shí),激光線提取效果最好。采用該算法對(duì)圖像進(jìn)行分割,計(jì)算量和處理時(shí)間適中。
4 激光條紋的細(xì)化
一般地,圖像中的激光條紋的寬度都超過1個(gè)像素。為了提高測量精度,必須提取一條單像素的激光中心線,即對(duì)激光條紋進(jìn)行細(xì)化。激光條紋的細(xì)化就是要不斷地去除曲線上不影響連通性的輪廓像素,從而獲得單像素的中心骨架的過程。
4.1細(xì)化的定義和條件
通常細(xì)化可以這樣定義[1]:令R是一平面集,B是它的邊界,P是R中的一點(diǎn),它在B上的一個(gè)最鄰近的點(diǎn)是M,使得點(diǎn)P到邊界B的最小距離為PM;如果P不止有一個(gè)最近鄰點(diǎn),則稱P為R的骨架點(diǎn),稱所有骨架點(diǎn)的并為R的骨架。像素集R的骨架是按如下步驟求出的集:首先確定骨架像素和R的輪廓像素,然后移去所有不是骨架的輪廓像素,并且用這樣求出的集代替R;重復(fù)上述過程,直到剩下僅由骨架像素組成的集為止。這個(gè)過程就稱之為細(xì)化。激光條紋圖像中細(xì)化效果影響激光掃描線三維重建的精度,所以選擇細(xì)化算法顯得非常重要。細(xì)化算法應(yīng)滿足以下幾個(gè)條件:
(1)細(xì)化結(jié)果應(yīng)與原圖保持拓?fù)涞刃裕?br />
(2)細(xì)化結(jié)果應(yīng)保持原圖中圖形的連續(xù)性;
(3)細(xì)化結(jié)果應(yīng)為或接近原曲線的中心線;
(4)細(xì)化后線的寬度應(yīng)為單像素;
(5)細(xì)化結(jié)果對(duì)原圖邊界噪聲不敏感。
4.2 數(shù)學(xué)形態(tài)的基本理論
數(shù)學(xué)形態(tài)學(xué)是分析幾何形狀和結(jié)構(gòu)的數(shù)學(xué)方法,現(xiàn)在已經(jīng)應(yīng)用到數(shù)字圖像處理和模式識(shí)別等領(lǐng)域。它的基本思想是用具有一定形態(tài)的結(jié)構(gòu)元素去度量和提取圖像中的對(duì)應(yīng)形狀以達(dá)到對(duì)圖像分析和識(shí)別的目的,保持它們的基本形狀特征,并去掉不相干的結(jié)構(gòu)。基于數(shù)學(xué)形態(tài)學(xué)的細(xì)化過程主要用到的形態(tài)學(xué)運(yùn)算有:膨脹、腐蝕、擊中和薄化。下面將分別給出具體的定義。
在考察圖像各部分之間的關(guān)系時(shí),需要有一種收集圖像結(jié)構(gòu)信息的“探針”,稱為結(jié)構(gòu)元素。上式中A即為待細(xì)化的圖像,B是結(jié)構(gòu)元素。結(jié)構(gòu)元素決定形態(tài)學(xué)細(xì)化算法的性能,因此如何優(yōu)化確定結(jié)構(gòu)元素就顯得尤為重要。下面將介紹基于數(shù)學(xué)形態(tài)學(xué)細(xì)化算法的結(jié)構(gòu)元素的選擇。
4.3 結(jié)構(gòu)元素的選擇
選擇兩組結(jié)構(gòu)單元模板共同實(shí)現(xiàn)基于數(shù)學(xué)形態(tài)學(xué)的細(xì)化算法,即D={D1,D2,D3,D4}和E={E1,E2,E3,E4}。D用來去掉東、北、西、南四個(gè)方向的點(diǎn),E用來去掉東南、東北、西北和西南四個(gè)方向上的點(diǎn),結(jié)構(gòu)元素如圖3所示。圖中,①表示參考中心點(diǎn);“1”表示目標(biāo)圖像上的點(diǎn);“0”表示背景圖像上的點(diǎn);“x”既可以表示目標(biāo)圖像上的點(diǎn),也可以表示背景圖像上的點(diǎn)。
細(xì)化的基本思想就是同時(shí)移動(dòng)上述8個(gè)模板的中心點(diǎn),每當(dāng)其中一個(gè)模板的中心點(diǎn)在目標(biāo)像素點(diǎn)位置上擊中目標(biāo)圖像,則該像素應(yīng)該被刪除,在一次迭代完成后就完成一次細(xì)化運(yùn)算,這樣直到某次迭代完成后沒有目標(biāo)像素點(diǎn)可以刪除,迭代收斂,循環(huán)結(jié)束。由于8個(gè)模板是同時(shí)作用于圖像的,因此該算法屬于并行算法,算法的流程圖如圖4所示。
采用該算法處理如圖5所示的激光條紋圖像,得到的細(xì)化結(jié)果如圖6所示。由圖可以看出,該細(xì)化算法的效果是令人滿意的。
本文討論了激光條紋圖像的特點(diǎn),針對(duì)其特點(diǎn)采用不同的圖像處理算法。通過實(shí)驗(yàn)比較,本文采用了中值濾波方法對(duì)圖像進(jìn)行預(yù)處理,采用整體閾值和動(dòng)態(tài)閾值相結(jié)合的方法進(jìn)行激光條紋分割,并采用基于數(shù)學(xué)形態(tài)學(xué)細(xì)化算法對(duì)激光條紋進(jìn)行細(xì)化。詳細(xì)介紹了上述算法的基本理論及實(shí)現(xiàn)過程,最后通過實(shí)例驗(yàn)證了算法的可行性。經(jīng)過處理之后,得到寬度僅為一個(gè)像素的激光線,其連續(xù)性和拓?fù)涞刃粤己谩?br />
參考文獻(xiàn)
[1] 何東健, 耿楠, 張義寬. 數(shù)字圖像處理[M].西安: 西安電子科技大學(xué)出版社, 2003.
[2] 章毓晉. 圖像工程上冊(cè)-圖像處理和分析[M]. 北京:清華大學(xué)出版社,1998.
[3] 阮秋琦. 數(shù)字圖像處理學(xué)(第2版)[M]. 北京: 電子工業(yè)出版社, 2007.
[4] 羅軍輝, 馮平, 哈力旦. Matlab7.0在圖像處理中的應(yīng)用[M]. 北京: 機(jī)械工業(yè)出版社, 2005.