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