余 樑 王廣偉
(浙江海洋學院數理信息學院 浙江 舟山 316000)
在圖像處理領域,處理大量的圖像信息之前,往往需要對圖像進行預處理,以便于后面的圖像分析、圖形理解和圖形特征提取等。圖像細化就是對于圖像預處理方法的一種,特別在文字識別、指紋識別與圖像理解中,對圖像進行細化有效的提高了處理效率,減少數據冗余。
圖像的細化主要是針對二值圖而言,對圖像的細化過程實際上是求該圖像骨架的過程。所謂的骨架,可以理解為圖像的中軸:長方形的骨架,是長方向的中線;圓形的骨架,是圓心這一點。
常用的細化算法有查表細化和逐層剝取細化。
查表細化是建立一個公認合理的索引表。規(guī)定黑色值1,白色值0;從上到下,從左到右依次逐個判斷每一個點,碰到當前點為黑色,然后通過公式(圖 1),計算出當前點的值,所得的值對照索引表(圖2)中值,若deletemark=0,該點刪除,deletemark=1,該點保留為黑色。反復掃描直到不再變化。
圖1 公式規(guī)則
常用的逐層剝取細化算法有Hilditch,該算法通過判斷圖像中屬于邊界點而不是連通點,就可以去掉此點,這是一種反復掃描的過程。如果對于一個矩形區(qū)域(圖3),從左上角開始到右下角,每次掃描可以講矩形最外面一層剔去,層層剝離后,最終剩下最中間的一條線(圖4)。
圖2 索引表
圖3 細化前圖
圖4 灰色即剝取點
綜合以上分析,上述算法處理圖像時都需要反復對圖像進行掃描,刪除可剔除點。若圖像較粗,掃描次數大量增加,因此效率低下,適合于小圖或者少量圖像處理。
本算法基于逐層剝取理念,快速細化算法改進了反復掃描的過程,順序、逆序搜索兩次,確定每個點的層數,通過層數可判斷該點屬于邊界點還是骨架,因而優(yōu)化算法的效率,大量減少程序運算時間。
以下是對于算法的詳細步驟(規(guī)定黑色值1白色值0):
第一步,從上到下,從左到右依次掃描每一個點,若當前點(x,y)為黑點時,需判斷其右上、上、左上和左四點的情況(圖 5)。 (x-1,y+1) (x-1,y) (x-1,y-1) (x,y-1) 這四點可以理解為當前點是被該四點包圍,該點層數即四點層數最小值多一層;如果當前點(x,y)為白色,層數值賦為0。
圖5 上至下左至右F值
圖6 下至上右至左G值
第二步,自下而上,自右而左,與第一步相似的判斷每個點的狀態(tài),若當前點是黑點,于是判斷其左下、下、右下和右四點的情況(圖6)。 (x+1,y-1) (x+1,y) (x+1,y+1) (x,y+1)四點包圍了當前點,同樣取這四點層數的最小值加1作為該點層數值;如果當前點(x,y)為白色,層數值賦為0。
與此同時,既然已經求得每一個點上包圍層數值和下包圍層數值,每個點的實際層數其實就是兩種層數值中最小值(圖 7)。
圖7 取點的層數值M值
第三步,從上到下,從左到右依次掃描每一個點,此時需要判斷該點8方向(圖7)范圍內所有點層數的情況。如果當前點的層數值是周圍相鄰點中最大,該點即保留;如果當前點的層數值并非最大,該點即可刪去。
綜上步驟,即完成了該圖像細化的全部過程,算法只需遍歷3次,就能將一幅圖像進行快速細化。
圖8-0 原圖
圖8-1 快速細化算法
圖8-2 索引表算法圖
圖8-3 Hilditch細化算法
圖9-0 原圖
圖9-1 快速細化算法
圖9-2 索引表算法
圖9-3 Hilditch算法
從圖像上(圖8-0圖9-0)可以看出,上述3種算法都能有效細化圖像,得到圖像骨架;在索引表細化及Hilditch細化中保持了圖像的連通性,但出現(xiàn)大量毛刺;快速細化算法則出現(xiàn)部分斷裂,但較高描述圖像形態(tài)。
表1
從表1也可發(fā)現(xiàn),在線條較細的圖像中(圖8-0),三種算法運行時間幾乎相同;而在線條較粗的圖像中(圖9-0),快速細化算法運算時間明顯優(yōu)于其余兩種,再將圖像(圖9-0)等比例放大一倍后,快速細化算法運算時間約原圖像的3倍,而其余兩種算法則需6-7倍,從而看出快速細化算法的優(yōu)勢。
[1]田剛,馬琨.數字圖像處理在等差條紋骨架線提取中的應用[J].
[2]韓九強.機器視覺技術及應用[M].高等教育出版社,2009.
[3]Rafael C.Gonzalez Richard E.Woods.岡薩雷斯數字圖像處理[M].電子工業(yè)出版社,2003.
[4]卞維新,徐德琴,王俊書.基于兩極復合式指紋圖像細化算法的研究[J].貴州工業(yè)大學學報:自然科學版,2005,34(3):80-84.
[5]王家隆,郭成安.一種改進的圖像模板細化算法[J].中國圖象圖形學報,2004,9(3):297-301.
[6]梅園,孫懷江,夏德深.一種基于改進后模板的圖像快速細化算法[J].中國圖象圖形學報,2006,11(9):1306-1311.
[7]王業(yè)琳,寧新寶,尹義龍.指紋圖像細化算法的研究[J].南京大學學報:自然科學,2003,39(4):468-475.