【集萃網(wǎng)觀察】在日常生活中,人們經(jīng)常需要對一些事物圖像進(jìn)行數(shù)字化處理,數(shù)字化的圖像有位圖和矢量圖形兩種存儲和描述方式。
位圖認(rèn)為象素是圖像的基本構(gòu)成單位,位圖文件記錄了每個象素的顏色,將圖像各個象素按照文件中所記錄的顏色顯示出來便得到了一幅完整的圖像。位圖通常包括圖像長度和寬度、圖像位深度和調(diào)色板等屬性。圖像的長度和寬度決定圖像中的象素數(shù);如果在一幅位圖中表示一個象素需要用n位,那么就稱該位圖的位深度位n,而且該位圖的顏色數(shù)位2”。
位圖的優(yōu)點是處理簡單直觀,可以直接用于多種輸出設(shè)備。不足之處是:圖像數(shù)據(jù)量大;圖像中只存儲了象素信息,無法直接得到圖像中各個圖形的信息。
矢量圖形主要通過幾何圖形元素(如圓和線)描述和記錄物體,并根據(jù)圖形信息繪制圖像。矢量圖形的關(guān)鍵是如何通過計算機(jī)用命令及數(shù)學(xué)公式來描述物體。
相比位圖,矢量圖形具有以下特點:所需存儲量一般較位圖小;存儲的是圖像的幾何特征信息,因而數(shù)據(jù)結(jié)構(gòu)相對復(fù)雜;對圖形進(jìn)行變換不失真;對圖形進(jìn)行局部修改非常方便。
對位圖進(jìn)行自動矢量化,已經(jīng)成為圖像矢量化研究的主流方向。圖像矢量化的方法可以大致分為兩類:基于細(xì)化的矢量化方法和和基于輪廓跟蹤的矢量化方法。前者基于細(xì)化算法提取出圖像的骨架來描述圖像;后者將圖像看成是由顏色區(qū)域組成,通過對圖像進(jìn)行輪廓提取與擬和達(dá)到矢量化的目的。
圖像矢量化的過程一般分為預(yù)處理、細(xì)化/輪廓化、圖元分割和圖元識別四部分。預(yù)處理的目的是通過消噪、形態(tài)學(xué)運算等改善輸入圖像的質(zhì)量。細(xì)化或輪廓化是把多線寬的原始圖像處理成單線寬的輪廓或骨架圖像,并通過跟蹤矢量化用折線段逼近方式表示。圖元的分割目的在于根據(jù)曲率、連通性及某些宏觀知識,將一些嵌套的復(fù)雜圖形分割成一個個簡單的圖形,從而有利于后續(xù)識別。而圖元識別的任務(wù)就是判別每個簡單圖形的幾何圖形,并結(jié)合其相對位置、尺度等關(guān)系,進(jìn)行綜合判別。
細(xì)化是簡化圖像的一種常用方法,其結(jié)果是能表征原始圖形特征的骨架,為了進(jìn)一步提高圖像處理的效果,更加有利于矢量化工作,在圖像細(xì)化前需要進(jìn)行圖像的預(yù)處理,圖像預(yù)處理包括圖像去噪、圖像分割等工作。
圖像去噪提供的方法有中值濾波、高斯濾波和自適用濾波等方法。圖像去噪的目的是為了去掉噪聲污染,取得良好的平滑效果。圖形分割是指把圖像分成各具特性的區(qū)域并提取出感興趣目標(biāo)的技術(shù)和過程,這里的特性可以是灰度、顏色、紋理等,目標(biāo)可以對應(yīng)單個區(qū)域,也可以多個區(qū)域。圖像分割是由圖像處理上升到圖像分析的關(guān)鍵步驟,也是一種基本的計算機(jī)視覺技術(shù)。圖像二值化是最常見的圖像分割技術(shù),它關(guān)心的特性是灰度值,目標(biāo)是多個區(qū)域,這項技術(shù)在模式識別、圖像分析中得到廣泛應(yīng)用。圖像的二值化的關(guān)鍵是閥值的選取。這項技術(shù)目前已是圖像處理領(lǐng)域中比較獨立的分支。
2圖像細(xì)化
線圖形的細(xì)化是圖像矢量化處理的關(guān)鍵,細(xì)化的結(jié)果必須做到:
(1)保證細(xì)化后曲線的連通性,細(xì)化結(jié)果是原曲線的中心線;
(2)去除無關(guān)緊要的點;
(3)對那些所在位置很重要,而細(xì)化過程中往往又難以繼續(xù)存在的點,采用變通的方法,即相鄰的象素點相互替換;
(4)細(xì)化處理速度快,保留細(xì)線端點。
2.1基本概念
定義1如圖1所示,與圖像中任一象素P。相鄰的8個象素成為P。的八領(lǐng)域,用Pi(1≤i≤8)來表示,其中Pj成為i一近鄰,為了討論方便,假設(shè)在二值圖像中,用0表示背景,1表示目標(biāo)象素。
定義2用A和B標(biāo)記的象素群中,如果分別至少有一個象素為非零,且P。:1,則P。是多重象素。多重象素決定目標(biāo)的連通性。聯(lián)結(jié)數(shù)就是八領(lǐng)域中相互分離的聯(lián)結(jié)成分的個數(shù)。目標(biāo)象素P。的聯(lián)結(jié)數(shù)可表示為
N。=∑(N k-NkN k+1 N k+2),其中K∈S,S=(0,2,4,6),Pk=1時,Nk=0,否則Nk=1。
定義3設(shè)象素Po∈R(R為連通的目標(biāo)象素),若P。的八領(lǐng)域中至少有一個象素Pi不屬于R,則稱P。為R的輪廓象素。如果輪廓象素不同時滿足多重象素的條件,則這種輪廓象素不影響目標(biāo)R的連通性,在細(xì)化中可刪除之。
定義4寬度為1的線稱處理模板為細(xì)線。線細(xì)化的最終結(jié)果就是把所有線目標(biāo)都轉(zhuǎn)變?yōu)榧?xì)線,只有細(xì)線才便于線跟蹤與矢量化。
定義5不斷去除曲線上不影響連通性的輪廓象素的過程稱為線細(xì)化,在這個過程中保留曲線的多重象素,直到目標(biāo)曲線的所有點都是多重象素為止,即所有線目標(biāo)都轉(zhuǎn)化為細(xì)線。
2.2基本算法
根據(jù)各種不同的應(yīng)用,國內(nèi)外已經(jīng)發(fā)表了許多細(xì)化算法,如Hilditch細(xì)化算法、OPTA細(xì)化算法、Hall細(xì)化算法、Rosenfeld細(xì)化算法、Zhang和Suen細(xì)化算法以及ZR細(xì)化算法等等。
本文采用的是由Hilditch提出的一種有效的二值圖像線細(xì)化算法,即Hilditch細(xì)化算法,其主導(dǎo)思想是每次掃描圖像上目標(biāo)的輪廓象素,直到圖像上不存在可刪除的輪廓象素為止。
Hilditch的細(xì)線化法是用一個33的模板,如圖l所示,沿著圖像的掃描方向移動,將圖像境界的象素逐次削除,最后得到線寬為1的條紋。
算法描述如下:
以上處理針對全部象素逐個進(jìn)行。
來源: 施月玲(互聯(lián)網(wǎng))