劉 芳,張云洋
(1.西藏大學 藏文信息技術(shù)研究中心,西藏 拉薩 850000;2.西藏大學圖書館,西藏 拉薩 850000)
圖像細化是圖像處理的一個重要步驟,在減少圖像存儲空間,圖像分析、特征提取和模式識別中占有重要的地位。在藏文信息處理中,藏文數(shù)字圖像的細化同樣重要,因為只有正確地提取出文字的骨架,才能準確、快速地提取出藏文字符的特征。
圖像細化就是在不影響原圖像拓撲連接關(guān)系下,將寬度大于一個像素的圖形線條轉(zhuǎn)變?yōu)閱蜗袼貙捑€條的處理過程,也就是提取圖像的骨架[1]。圖像的骨架就是圖像中能精確描述圖像結(jié)構(gòu)特征的部分,字符圖像的骨架就是能體現(xiàn)出字符中筆劃的構(gòu)成和走向等拓撲結(jié)構(gòu)的部分。
傳統(tǒng)的數(shù)字圖像細化算法有很多,依據(jù)是否使用迭代運算可以分為兩類[2]:第一類是非迭代算法,即一次產(chǎn)生文字圖像骨架,如基于距離變換的方法、游程長度編碼細化等。第二類是迭代算法,即重復刪除圖像邊緣滿足一定條件的像素,最終得到單像素寬帶骨架[3]。常用的文字圖像輪廓細化算法有基于數(shù)學形態(tài)學的處理方法[4],基于筆劃趨勢分析的二值圖像細化方法[5],基于邊緣細化的角點提取算法[6],等等。
在將藏文文本經(jīng)過掃描儀等進入計算機后,由于紙張的厚薄、亮度、質(zhì)量,機器的分辨率等原因都會造成字符的變化,也可能產(chǎn)生斷點、污跡、粘連等干擾,這些不利因素都將嚴重影響字符輪廓的提取。因此,在細化以前,還需要對數(shù)字圖像去除雜質(zhì),消除圖像中無關(guān)的信息,盡量還原圖像中的原始信息,最大限度地將圖像中的真實信息更簡單直觀地顯現(xiàn)出來,從而提高后續(xù)的字符切分、特征提取和字符識別過程的效率和正確率。
因此,在對藏文字符進行細化以前,需要對藏文的數(shù)字圖像進行二值化、去噪處理,從而在后面的細化過程中得到更準確的字符輪廓。
通過掃描儀、數(shù)碼相機等CCD成像設(shè)備輸入到計算機中的圖像都是多值圖像。這就需要對圖像進行標準化處理,即把多值圖像轉(zhuǎn)換成只有黑、白分布的二值圖像,這一過程叫做二值化處理。二值化處理方法可以分成全局二值化方法和局部二值化方法[7]。全局二值化方法對每一幅圖計算一個單一的閾值?;叶燃壣钣陂撝档南袼乇粯擞洖楸尘白址?即白色),灰度級淺于閾值的像素被標記為前景(即黑色)。
局部二值化方法以像素的鄰域的信息為基礎(chǔ)來計算每個像素的閾值。
二值化首先需要把圖像進行灰度處理,灰度處理使用如下灰度變換公式:
結(jié)果值=紅色分量×0.299+綠色分量×0.587+藍色分量×0.114+0.5
然后,令紅色分量=綠色分量=藍色分量=結(jié)果值即可。
灰度處理之后,便進行二值化處理,由于藏文文字表現(xiàn)形式為線條明顯,如果二值化處理不當就會造成關(guān)鍵信息的缺失。在用常規(guī)方法對藏文字符圖像進行二值化處理的過程中,最典型的是藏文字“”很容易識別成“”,從而導致后續(xù)特征提取和模式識別中產(chǎn)生錯誤。為了避免以上的錯誤,采用局部自適應(yīng)二值化算法對藏文字符數(shù)字圖像進行處理。
局部自適應(yīng)二值化算法,是以像素的鄰域信息為基礎(chǔ)來計算每一個像素的閾值k。設(shè)給定圖像具有L級灰度值,對1 組內(nèi)方差: 組間方差: 一般來說,原始圖像信息在記錄、傳輸、獲取等的過程中,都會受到各種噪聲的干擾,主要原因有:源文件掃描過程中由于光線的原因,造成圖像灰度不均勻,在某些地方產(chǎn)生的陰影;源文件磨損產(chǎn)生的字符筆劃斷裂;源文件的污跡產(chǎn)生的字符粘連及隨機噪聲等。 由于藏文的音節(jié)分割符號大小與圖像中的噪聲點幾乎相同,甚至有的小于噪聲點,如果采用傳統(tǒng)的濾波方法很容易將該分割符號濾掉,造成字符切分和細化過程的錯誤。藏文文字行最大的特點就是:在行中所有的藏文字都以其基線為書寫線,形成一條明顯的直線,音節(jié)分割符正好在基線上,因此可以采用基于基線的濾波處理噪聲方法。 首先對圖像二值化后,在Y軸上進行映射,其中的明顯波峰位置便是藏文字行的基線位置,記錄基線位置Wn,n為基線個數(shù)[8]。設(shè):兩條基線之間的距離概率等于文字圖像中所有單字的最大的文字高度H,因為藏文字的高寬比例一般最大為1∶2,且音節(jié)分割符號的寬度一般為基字寬度的1/4,所以可以計算出音節(jié)分割符號大小Ht的范圍:H/8≤Ht≤H/4,其像素個數(shù)F的范圍為:Ht×Ht。 再采用遞歸的方法,遞歸黑像素周圍八碼,其中P為黑像素,P1至P8中如果有一點為黑像素并且沒有標識過已檢查,則繼續(xù)遞歸該點,并記錄到區(qū)域T(x,y)中,同時標識該黑像素已經(jīng)檢查。最后將區(qū)域T(x,y)記錄的個數(shù)與F進行比對,如果小于F,并且區(qū)域T(x,y)所在位置不在Wn上,則標識P點為變換點。將所有標識的變換點變?yōu)榘紫袼兀瑥亩瓿蓪υ肼暤娜コ?/p> 藏文字是一種拼音文字,是基本字符和基本字符通過縱向疊加而成的字符串,構(gòu)成一個完整藏文詞素,基本單位是由藏文中的“音節(jié)分割符tsheg bar”來確定。一個藏文詞由一個或多個音節(jié)構(gòu)成。每一個音節(jié)包含“基字”和可能跟隨的如前加字、上加字、元音符號、后加字、再后加字[9-13]。一個藏文字的各組成構(gòu)件如圖1所示。 圖1 藏文字的各組成構(gòu)件 首先,藏文字線條明顯,且文字中弧線較多,如果預處理中去除的信息過多會造成弧線的斷裂或部分誤刪除[14]。 其次,藏文字的高寬比例會隨著基本字符構(gòu)成數(shù)量的不同而不同,也不是標準的方塊字,很多筆畫也不是規(guī)則的橫、豎,只有精準的細化以后才能簡化特征提取的過程。 在藏文文字的細化過程中,最容易出現(xiàn)的問題是細化以后文字的線條中間出現(xiàn)斷節(jié)或者是線條中間出現(xiàn)一些小圓圈,最后看見的都不是文字的骨架,嚴重影響了特征提取和文字的識別[15-16]。 針對藏文文字的特征,提出了一種基于像素鄰域點的藏文文字數(shù)字圖像細化算法。對于二值化后的藏文文字數(shù)字圖像,對構(gòu)成文字的每個像素點進行處理,判斷這個點是不是藏文字的骨架點,如果是就保留,否則就刪除。經(jīng)過多次實驗,根據(jù)點的刪除原則制定了一個統(tǒng)一的表格,在細化過程中查此表依次判斷該點的刪除情況。 對藏文文字的細化,最重要的就是判斷一個點是否是圖像的骨架,并確定刪除一個點以后對圖像的結(jié)果和連接關(guān)系是否有影響。算法中主要是根據(jù)某一個像素點的八鄰域判斷其刪除情況。 文中算法采用了256級灰度圖,只用到了調(diào)色板中的0和255兩項。通過某點的八個相鄰點的情況來判斷點的刪除情況。 要判斷黑色的這個像素點能否被刪除,就需要判斷它的八個相鄰點的情況。在八個相鄰點中,與該像素相連的用黑色表示,與該像素不相連的用白色表示。對每一個像素點都用圖1表示其八鄰域的相連情況,再判斷該點是否是文字的骨架點。 圖2 八鄰域點信息實例1 如果某個點的八個相鄰點的情況如圖2所示,這個點是不能刪除的。因為該點是一個內(nèi)部點,如果刪除,就提取不到需要提取的文字骨架。 如果某個點的八個相鄰點的情況如圖3所示,那么該點可能是圖像噪聲或者是筆畫粘連,就不是骨架點,是可以刪除的。 圖3 八鄰域點信息實例2 經(jīng)過大量的實驗統(tǒng)計發(fā)現(xiàn),在細化過程中,只要所檢測的像素點滿足圖4所示的條件之一,則該點即為文字的骨架不能被刪除,否則就要刪除。 圖4 不能刪除的像素點信息圖 如圖4所示,某個像素點的八鄰域中,以上28種連接情況是該點不能刪除的條件。把某個點的八個相鄰點黑像素的數(shù)目稱為該點的權(quán),那些權(quán)為二的有8種情況;權(quán)為三的有8種情況;權(quán)為四的有4種情況;權(quán)為五的有8種情況。 確定了像素點的刪除標準后,采用數(shù)學矩陣來使用這個標準對每個點進行處理。 根據(jù)8位二進制所表示的范圍制作了一個矩陣,里面表示0~255共256項,每一項的值為0或1。在程序中,把八個相鄰點中的白像素用1表示,黑像素用0表示。把八個相鄰點從最低位開始分別乘以20、21、22、23、24、25、26、27,然后到矩陣中查找對應(yīng)矩陣項的值。如果查得為1,則表示該點可以刪除,否則該點就是骨架,不能刪除。 像素點的八個相鄰點的各種情況對照的矩陣如圖5所示。 圖5 細化算法中的對照矩陣 如果某像素的八鄰域信息如圖6所示,該像素的八個相鄰點按以上規(guī)則進行計算為:1*21+1*22+1*23=14。再對照以上的矩陣,找到第14個值為0,則表示該點是不能刪除的。 圖6 八鄰域點信息實例3 在細化過程中,通過以上方法對藏文字的逐個點進行判斷是否能刪除,最后得到的就是文字的骨架。這些骨架保留了藏文字本身的結(jié)構(gòu)特征,不影響其輪廓。減少了很多不需要的像素點后,既提高了特征提取的效率,又能正確地對藏文字進行模式識別。 藏文圖像細化是藏文信息處理領(lǐng)域的一個很重要也很困難的方面,尋求一種圖像骨架提取正確率高、圖像失真率小的細化算法對藏文文字識別等結(jié)果有著至關(guān)重要的影響。針對藏文數(shù)字圖像,提出了一種基于像素鄰域點信息的細化算法。依次對圖像中的每一個像素點根據(jù)其八個鄰域點的連接情況判斷是保留還是刪除,最后得到圖像的骨架,提取圖像的信息。該算法的原理簡單,在PC機上易實現(xiàn),有效性和實用性都非常好。 參考文獻: [1] 李 甦,譚永龍.基于生成樹的圖像完全細化算法[J].計算機工程與設(shè)計,2006,27(21):4006-4007. [2] WANG W,DUAN M,YANG Y.The study of a new image thinning algorithm[C]//3rd international conference on electrical and electronics engineering.[s.l.]:[s.n.],2014. [3] 程永上.工程掃描圖的矢量化和圖檔管理系統(tǒng)設(shè)計[D].南京:河海大學,2004. [4] 韋 冰,陳宇拓.基于數(shù)學形態(tài)學的圖像輪廓細化方法[J].科技信息:學術(shù)版,2006(9):13-15. [5] 劉桂雄,申柏華,馮云慶.基于筆劃趨勢分析的二值圖像細化方法[J].光學精密工程,2003,11(5):527-530. [6] 鄒瓊兵,周東翔,蔡宣平.基于邊緣細化的角點提取算法[J].計算機應(yīng)用與軟件,2006,23(3):110-112. [7] 劉 悅,劉明業(yè),尚振宏.快速響應(yīng)矩陣碼的多級閾值化方法[J].計算機應(yīng)用研究,2006,23(8):177-179. [8] 歐 珠,趙棟材.基于水滴滲透算法的木刻經(jīng)書藏文字切分研究[C]//2010年全國模式識別學術(shù)會議(CCPR2010).重慶:中國圖象圖形學學會,2010. [9] 邊巴旺堆.基于ISO/IEC10646藏文編碼字符集標準的藏文排序算法設(shè)計與實現(xiàn)[D].拉薩:西藏大學,2009. [10] 春 燕.藏文編碼識別與轉(zhuǎn)換算法的研究與實現(xiàn)[D].成都:西南交通大學,2010. [11] MAI Z,XIANG W.Tibetan recognition system based on the improved extraction algorithm of complexity index feature[C]//5th international symposium on knowledge acquisition and modeling.[s.l.]:[s.n.],2015. [12] 白瑪玉珍.藏文文字特征提取方法的研究[J].電腦知識與技術(shù),2013,9(28):6362-6364. [13] WAN F C,HE X Z,YU H Z,et al.Tibetan semantic information parsing for Tibetan-Chinese machine translation[C]//Proceedings of 2014 international conference on artificial intelligence and industrial application.[s.l.]:[s.n.],2014. [14] YAN Xiaodong,ZHAO Xiaobing.Research on Tibetan text orientation identification[J].Journal of Computers,2014,9(7):1598-1605. [15] ZHOU D,HE W H,WU T T.The research on Tibetan text classification based on n-gram model[J].Applied Mechanics and Materials,2014,543-547:1896-1900. [16] KOJIMA M,KAWAZOE Y.Progress in automatic recognition of Tibetan Buddhist literatures by using object oriented design[J].Joho Chishiki Gakkaishi,2008,18(5):481-482.2 藏文數(shù)字圖像的去噪處理
3 基于像素鄰域點的細化算法
3.1 藏文字的特征
3.2 細化算法中的刪除標準
3.3 細化處理過程
4 結(jié)束語