專利名稱:一種快速骨骼化二值數(shù)字圖像中圖形的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于一種對二值數(shù)字圖像中圖形進(jìn)行細(xì)化從而得到其骨骼的圖像處理方法,特別涉及一種快速骨骼化二值數(shù)字圖像中圖形的方法。
背景技術(shù):
國內(nèi)外類似的骨骼化方法常用于光學(xué)字符識別(OpticalCharacterRecognition, OCR)和一些基于圖像形狀的圖像處理算法,例如霍夫變換(HoughTransformation, HT)圖像算法,因此用于獲取圖形骨骼的細(xì)化算法具有重要的工業(yè)應(yīng)用價(jià)值和學(xué)術(shù)理論意義。二值圖像中圖形骨骼的概念早在1967年由Blum首次提出,骨骼是指在由前景像素所組成的區(qū)域中,與區(qū)域局部邊界相切的,最大內(nèi)切圓的圓心的集合,參見H.Blum, “A transformation for extracting new descriptors of shape,,,Modelsforthe Perception of Speech and Visual Form, pp.362-380,1967。經(jīng)過多年發(fā)展,涌現(xiàn)出兩類細(xì)化算法,即基于距離函數(shù)和非距離函數(shù)的細(xì)化算法?;诰嚯x函數(shù)的算法是一種傳統(tǒng)的細(xì)化算法,而非距離函數(shù)算法相對而言是較新的算法,例如基于神經(jīng)網(wǎng)絡(luò)(詳見R.Krishnapuram, F.Chen, “Implementation of parallelthinning algorithms usingrecurrent neural networks,,, IEEE Trans.Neural Netw., vol.4, n0.1, pp.142-147, Jan.1993.),小波(詳見 Y.Y.Tang, X.G.You, ^Skeletonizationof ribbon-like shapesbased on a new wavelet function,,,IEEE Trans.Pattern Anal.Mach.1ntell., vol.25, n0.9, pp.1118-1133, Sep.2003.)和曲率流(詳見 A.1miya, M.Saito, “Thinning bycurvature flow,,,Journal of Visual Communication and ImageRepresentation,vol.17, n0.1, pp.27-41, Feb.2006.)的細(xì)化算法。非距離函數(shù)算法主要應(yīng)用于對三維二值圖像中三維圖形的骨骼化處理,對二維圖像而言,這些算法過于復(fù)雜且運(yùn)算量較大,參 JAL W.Wong, F.Y.Shih, T.Su, “Thinning algorithmsbased on quadtree and octreerepresentations,,,Information Sciences, vol.176, n0.10, pp.1379 - 1394, May.2006。因此,在二維二值圖像中,傳統(tǒng)的基于距離函數(shù)的細(xì)化算法仍然是一種獲取圖形骨骼的高效方法。基于距離函數(shù)的細(xì)化算法大致可分為基于光柵掃描和基于中軸的算法, 參見 S.Bag, G.Harit, “An improved contour-based thinning method forcharacter images,,,Pattern Recognition Letters, vol.32, n0.11, pp.1836-1842,Oct.2011。在1981年,Davies提出了一種基于光柵掃描的經(jīng)典細(xì)化算法,詳見E.R.Davies, Machine Vision:Theory, Algorithms, Practicalities, 3rd ed.CA:MorganKaufmann,2005。與現(xiàn)代細(xì)化算法不同,這種算法除了二維矩陣之外,并沒有使用額外的、復(fù)雜的數(shù)據(jù)結(jié)構(gòu)來輔助算法,也沒有使用用于給出距離函數(shù)計(jì)算值的查詢表,所以該算法結(jié)構(gòu)簡單,易于分析和實(shí)現(xiàn),但其細(xì)化效果隨圖形復(fù)雜度的增加而衰減。近年來,相繼有基于光柵掃描的細(xì)化算法問世, 其中Wong于2006年提出了一種能給出復(fù)雜圖形有效骨骼的細(xì)化算法,詳見 W.Wong, F.Y.Shih, T.Su, “Thinning algorithms based on quadtreeand octree representations,,,InformationSciences, vol.176, n0.10, pp.1379-1394,May.2006。這種算法采用了四叉樹和八叉樹的復(fù)雜數(shù)據(jù)結(jié)構(gòu),預(yù)計(jì)算了距離函數(shù)的值并存儲在查詢表中,這使得該算法以耗費(fèi)較多計(jì)算資源的較大代價(jià)換取了給出復(fù)雜圖形骨骼的結(jié)果。
發(fā)明內(nèi)容
本發(fā)明所解決的技術(shù)問題主要有以下兩點(diǎn):(I)由于非距離函數(shù)的細(xì)化算法普遍具有運(yùn)算量大,結(jié)構(gòu)復(fù)雜的特點(diǎn),并不適用于二維圖像的骨骼計(jì)算,而基于距離函數(shù)的傳統(tǒng)細(xì)化算法近年來呈現(xiàn)出依賴復(fù)雜數(shù)據(jù)結(jié)構(gòu)的趨勢,雖然這種算法的骨骼化效果較為理想,但卻耗費(fèi)了較多的計(jì)算資源,而且算法結(jié)構(gòu)異常復(fù)雜,難以分析和實(shí)際應(yīng)用。本發(fā)明所突破的技術(shù)問題之一是不使用過于復(fù)雜的數(shù)據(jù)結(jié)構(gòu)及相關(guān)數(shù)據(jù)算法,不使用預(yù)計(jì)算的、龐大的距離函數(shù)值查詢表,從而達(dá)到減少運(yùn)算量和降低占用資源的目的。(2)雖然一些經(jīng)典算法確實(shí)沒有使用復(fù)雜數(shù)據(jù)結(jié)構(gòu)和查詢表,但這些算法普遍具有骨骼化效果隨圖形復(fù)雜化而衰減的特點(diǎn),因此雖然運(yùn)行速度較快,但對復(fù)雜圖形的運(yùn)行結(jié)果基本不具備實(shí)際應(yīng)用價(jià)值。這也是本發(fā)明所面臨的主要技術(shù)問題:對二維二值圖像中的復(fù)雜圖形,如何讓一個(gè)設(shè)計(jì)簡單、易于實(shí)現(xiàn)的算法能生成與設(shè)計(jì)復(fù)雜、實(shí)現(xiàn)困難的算法相近,甚至相同的骨骼。本發(fā)明提供一種快速骨骼化二值數(shù)字圖像中圖形的方法,計(jì)算量較小、計(jì)算資源占用較少,生成的骨骼與國際主流細(xì)化算法的結(jié)果基本一致。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:本發(fā)明使用計(jì)算機(jī)程序語言實(shí)現(xiàn)相應(yīng)算法來完成實(shí)施。為使陳述清楚明了,現(xiàn)定義下列二值數(shù)字圖像中的概念。圖像坐標(biāo)空間:使用正整數(shù)坐標(biāo)表示和記錄圖像像素間相對空間位置的矩陣。前景像素:二值圖像中二值中的一種像素值。背景像素:二值圖像中二值中的非前景像素的像素值。圖形:在圖像坐標(biāo)空間中,由前景像素所組成的,內(nèi)部不存在背景像素的一塊封閉區(qū)域。圖形邊界:屬于圖形的,前景像素與背景像素之間不存在其他像素的前景像素的
口 O圖形局部:圖形內(nèi)部包含圖形邊界,且不包含背景像素的一塊連續(xù)區(qū)域。局部最大值:圖形局部上最大內(nèi)切圓半徑的近似正整數(shù)值。局部最大值空間:用于存儲局部最大值的,與原二值圖像具有相同圖像坐標(biāo)空間的一個(gè)存儲空間。鄰域:圖像坐標(biāo)空間中與特定像素坐標(biāo)值差異小于或等于一個(gè)給定數(shù)值m的像素的集合。如果特定像素用Ptl表示,那么3 X 3鄰域包含8個(gè)像素P1至P8,它們的排列方式可以用下式表示:
權(quán)利要求
1.一種快速骨骼化二值數(shù)字圖像中圖形的方法,設(shè)二值圖像中二值中的一種像素值為前景像素,另一種為背景像素,其特征在于包括以下步驟: (1)掃描圖像并計(jì)算局部最大值; (2)基于距離函數(shù)的算法生成圖形骨骼:所述骨骼為圖形局部上,在圖像坐標(biāo)空間中具有連續(xù)坐標(biāo)的,最大內(nèi)切圓圓心的坐標(biāo)集合;所述圖形骨骼具有若干分支; (3)刪除錯(cuò)誤的骨骼分支,包括 (3a)找出骨骼端點(diǎn):找出由步驟(2)產(chǎn)生的錯(cuò)誤圖形骨骼分支的骨骼端點(diǎn),與所述錯(cuò)誤圖形骨骼分支的骨骼端點(diǎn)在圖像坐標(biāo)空間中坐標(biāo)值差異等于O或I的,非當(dāng)前骨骼端點(diǎn)的8個(gè)像素中沒有或僅有一個(gè)局部最大值;所述骨骼端點(diǎn)為在二值圖像坐標(biāo)空間中鄰域內(nèi)僅一側(cè)有前景像素的前景像素; (3b)刪除錯(cuò)誤的骨骼分支:從步驟(3a)找出的骨骼端點(diǎn)出發(fā),沿該骨骼端點(diǎn)所在的骨骼分支找出交匯點(diǎn),判斷所述交匯點(diǎn)是否是真實(shí)交匯點(diǎn);如果是真實(shí)交匯點(diǎn),則刪除骨骼端點(diǎn)與該交匯點(diǎn)之間的骨骼分支;所述真實(shí)交匯點(diǎn)鄰域內(nèi)具有多個(gè)前景像素,且該點(diǎn)是局部最大值; 其中,所述局部最大值是指圖形局部上最大內(nèi)切圓半徑的近似正整數(shù)值;所述圖形局部是指圖形內(nèi)部包含圖形邊界,且不包含背景像素的一塊連續(xù)區(qū)域;所述圖形是指在圖像坐標(biāo)空間中,由前景像素所組成的,內(nèi)部不存在背景像素的一塊封閉區(qū)域;所述圖形邊界是指屬于圖形的,前景像素與背景像素之間不存在其他像素的前景像素的集合;所述圖像坐標(biāo)空間是指使用正整數(shù)坐標(biāo)表示和記錄圖像像素間相對空間位置的矩陣;鄰域是指圖像坐標(biāo)空間中與特定像素坐標(biāo)值差異小于或等于一個(gè)給定數(shù)值m的像素的集合;所述距離函數(shù)是指用于計(jì)算前景像素與其所在圖形的圖形邊界的歐式距離值的方法;局部最大值空間為用于存儲局部最大值的,與原二值圖像具有相同圖像坐標(biāo)空間的一個(gè)存儲空間。
2.如權(quán)利要求1所述的一種快速骨骼化二值數(shù)字圖像中圖形的方法,其特征在于:設(shè)正向掃描的順序?yàn)閺纳现料轮鹦袡z查每行,在每一行中從左向右檢查每個(gè)像素;反向掃描的順序?yàn)閺南轮辽现鹦袡z查每行,在每一行中從右向左檢查每個(gè)像素; 所述的步驟(I)包括: (Ia)正向掃描計(jì)算:在二值圖像坐標(biāo)空間中按正向掃描的順序檢查每一個(gè)像素,如果被檢查的像素是前景像素,則檢查該前景像素鄰域左上角,將所述鄰域左上角像素中的歐式距離近似正整數(shù)值賦予該前景像素; (Ib)反向掃描計(jì)算:在二值圖像坐標(biāo)空間中按反向掃描的順序檢查每一個(gè)像素,如果被檢查的像素是前景像素,則檢查該前景像素鄰域右下角,將所述鄰域右下角像素中的歐式距離近似正整數(shù)值賦予該前景像素; (Ic)找出局部最大值:建立局部最大值空間中的與所述圖像的維數(shù)相同的圖像,設(shè)為對應(yīng)圖像;按正向或反向掃描的順序檢查原圖像坐標(biāo)空間的每個(gè)像素,如果該像素為前景像素,則檢查其整個(gè)鄰域,如果其值不小于鄰域中像素的最大值,則將該像素值賦予對應(yīng)圖像上具有與該像素相同坐標(biāo)值的對應(yīng)像素,否則將O賦予其對應(yīng)像素; (Id)刪除孤立的最大值:在局部最大值空間中找到前景像素,并刪除鄰域內(nèi)僅存在背景像素的前景像素; 其中,步驟(Ia)和步驟(Ib)沒有先后順序;歐式距離近似正整數(shù)值計(jì)算公式為 VpeX, distx(p) = min{ e N,/> not in (X nB) }(I) 式(I)中,X表示一幅二值數(shù)字圖像;B表示一個(gè)球心位于圖形邊界的可移動球體; 表示細(xì)化運(yùn)算,即將所選定的前景像素的值設(shè)為背景像素;n表示細(xì)化次數(shù);N表示正整數(shù)集合;P表示二值圖像中圖形包含的一個(gè)前景像素;distx(p)表示p的歐式距離的近似正整數(shù)值。
3.如權(quán)利要求2所述的一種快速骨骼化二值數(shù)字圖像中圖形的方法,其特征在于:所述的步驟(2)包括: (2a)細(xì)化圖形:在局部最大值的基礎(chǔ)上,重復(fù)剝離像素以重復(fù)刪除圖形邊界,得到包含骨骼和產(chǎn)生該骨骼的原圖形中部分像素的近似骨骼;所述剝離像素依次包括剝離北側(cè)像素、剝離南側(cè)像素、剝離東側(cè)像素和剝離西側(cè)像素; (2b)細(xì)化骨骼為單位像素寬:在步驟(2a)的基礎(chǔ)上,在二值圖像坐標(biāo)空間中細(xì)化由局部最大值空間中所聚集的局部最大值導(dǎo)致的超過單位像素寬的骨骼分支,最終得到單位像素寬的近似骨骼。
4.如權(quán)利要求3所述的一種快速骨骼化二值數(shù)字圖像中圖形的方法,其特征在于:設(shè)相交數(shù)為:在二值圖像中,選擇任意一個(gè)前景像素,從其鄰域內(nèi)任意像素出發(fā),依次經(jīng)過每個(gè)鄰域像素,至回到出發(fā)像素為止,像素值發(fā)生變化的總次數(shù),記做X ;當(dāng)前景像素的鄰域大小為3X3,且X =2時(shí),所述步驟(2a)中的重復(fù)剝離像素的剝離判斷條件還包括前景像素的鄰域內(nèi)至少有2個(gè)前景像素。
5.如權(quán)利要求1-4中任一項(xiàng)所述的一種快速骨骼化二值數(shù)字圖像中圖形的方法,其特征在于:當(dāng)前景像素的鄰域大小為3X3時(shí),所述的步驟(3b)為:以步驟(3a)中得到的骨骼端點(diǎn)為起點(diǎn),沿該骨骼端點(diǎn)所在的骨骼分支移動,直到骨骼分支交匯點(diǎn)停止;移動的條件為在二值圖像坐標(biāo)空間中鄰域內(nèi)僅一側(cè)有前景像素和在局部最大值空間中鄰域內(nèi)存在0個(gè)或I個(gè)局部最大值;當(dāng)不滿足移動條件時(shí),判斷移動結(jié)束點(diǎn)是否是真實(shí)交匯點(diǎn),所述真實(shí)交匯點(diǎn)在圖像坐標(biāo)空間中鄰域內(nèi)具有多個(gè)前景像素,并在局部最大值空間中鄰域內(nèi)存在至少2個(gè)局部最大值;如果是真實(shí)交匯點(diǎn),將骨骼端點(diǎn)和交匯點(diǎn)之間的骨骼分支刪除;如果不是真實(shí)交匯點(diǎn),則在移動結(jié)束后,則繼續(xù)移動并在每次移動中都檢查當(dāng)前點(diǎn)是否是真實(shí)交匯點(diǎn),抵達(dá)真實(shí)交匯點(diǎn)后,刪除骨骼端點(diǎn)和交匯點(diǎn)之間的骨骼分支。
6.如權(quán)利要求5所述的一種快速骨骼化二值數(shù)字圖像中圖形的方法,其特征在于:設(shè)相交數(shù)為:在二值圖像中,選擇任意一個(gè)前景像素,從其鄰域內(nèi)任意像素出發(fā),依次經(jīng)過每個(gè)鄰域像素,至回到出發(fā)像素為止,像素值發(fā)生變化的總次數(shù),記做X ;所述真實(shí)交匯點(diǎn)的判斷條件為X >4并且鄰域中的局部最大值數(shù)量大于或等于3。
全文摘要
本發(fā)明涉及一種快速骨骼化二值數(shù)字圖像中圖形的方法,包括以下步驟1、掃描圖像并計(jì)算局部最大值;2、基于距離函數(shù)的算法生成圖形骨骼;3、刪除錯(cuò)誤的骨骼分支,包括找出由步驟2產(chǎn)生的錯(cuò)誤圖形骨骼分支的骨骼端點(diǎn)和刪除錯(cuò)誤的骨骼分支,與錯(cuò)誤圖形骨骼分支的骨骼端點(diǎn)在圖像坐標(biāo)空間中坐標(biāo)值差異等于0或1的,非當(dāng)前骨骼端點(diǎn)的8個(gè)像素中沒有或僅有一個(gè)局部最大值;骨骼端點(diǎn)為在二值圖像坐標(biāo)空間中鄰域內(nèi)僅一側(cè)有前景像素的前景像素。本發(fā)明算法所產(chǎn)生的骨骼基本與目前國際主流細(xì)化算法所產(chǎn)生的骨骼一致;且結(jié)構(gòu)簡單,實(shí)施方便,運(yùn)行高效,本發(fā)明算法的計(jì)算復(fù)雜度為O(n2)+O(m2)=O(n2),與Davies算法一致,但運(yùn)行結(jié)果明顯優(yōu)于Davies算法。
文檔編號G06T7/60GK103150741SQ20121050453
公開日2013年6月12日 申請日期2012年11月30日 優(yōu)先權(quán)日2012年11月30日
發(fā)明者賈靚, 閔革勇 申請人:常州大學(xué)