王元元
(長江職業(yè)學院,武漢 430074)
字符識別,英文為OCR(Optical Character Recognition)。其概念為利用光學識別技術進行文字識讀。我國目前的文本型OCR軟件主要有清華文通TH-OCR、北信BI-OCR、中自ICR、沈陽自動化所SY-OCR、北京曙光公司NI-OCR等。[1]
圖像識別處理操作包括圖像編碼、圖像增強、圖像壓縮、圖像復原、圖像分割等步驟。[2]
本文探討的是數字圖像識別中圖像壓縮環(huán)節(jié)一項必要的處理——圖像細線化。
在影像前置處理步驟中,細線化操作是及其必要的。它的功能是刪除圖像文件中不必要的像素點,將代表圖形原始特征的骨架保留下來。最終生成一個簡化的圖像數據資料,可大大減少文字圖像儲存所需容量。
因為字符圖像中各筆劃的寬度并不相同,這讓系統(tǒng)識讀時會造成干擾。而細線化操作就是采取循環(huán)取舍各種寬度字體圖像的包圍像素的辦法,最后生成由單一像素構成的線條。
在這個過程中,為防止刪除必要的像素點。需確保幾點:
(1)不能刪除線段的端點;
(2)不可改變圖像的連接結構;
(3)操作后的圖像能唯一替代原文字圖像。
把粗的線條細化,可以清晰呈現諸如線條交叉交叉點、轉折點等關鍵特征像素點。目前國內外已有各種算法,如內接圓法、異步算法、經典算法、快速并行算法和并行八邊算法等,每種算法都有其優(yōu)缺點。
以下分析由T.Y.Zhand和C.Y.Suen提出的方法。此法是將Hilditch的構想加以改良,在如圖1的3*3矩陣中,由兩個方向實施中間點P1的保留或刪除。首先考慮P1的右、下、左上的點,再考慮左、上、右下的點。
圖1 3×3臨域
細線化過程如下:
設N(P1)為P1周圍非零像素個數。S(P1)為依P2,P3,….,P8,P9順序灰度值由0轉換至1的次數。
步驟一:若符合下面四個條件,則P1點刪除
步驟二:若符合下面四個條件,則P1點刪除
重復以上步驟,直到無刪除點為止。
執(zhí)行完以上操作后,原圖像的骨架被保留,線條由粗線轉為單個像素組成的細線條。轉換效果見圖2:
圖2 細線化效果
由效果對比,我們可看出,細線化較好的保留了原圖形的結構,同時大大減少了冗余信息。
執(zhí)行該算法后,雖很好的保證了線條的連貫性,但生成的線條不是最精簡的,還有冗余信息。如圖3,圖中間的黑點刪除可不影響線條連貫性。
圖3 冗余點示意圖
根據Hilditch算法,不能去除該點。分析后發(fā)現,凡中心黑點周圍有2個像素,并且和其夾角成90度時,該中心黑點就可刪除,如圖4(a)。但Hilditch算法中對于該冗余像素卻無能為力。為了保持數字局部特征,對于分支點和交叉點要做保護,如圖4(b)、(c)。所以本方案對Hilditch算法進行了改良,以得到更好的效果。
圖4 各種點的結構
矩陣中,共P1-P9這9個像素點。如第i個像素為黑色,則Pi值為1,如為白色,則Pi值為0。先按照Hilditch算法進行細線化操作,完成后執(zhí)行下面的改良算法:
(1)p2+p4=2||p4+p6=2||p6+p8=2||p8+p2=2
(2)p2+p4+p6+p8=2
若滿足以上2個條件,則刪除P1點。從左上角開始掃描,對整幅圖像執(zhí)行一次以上操作即可。
該算法有時會破壞圖形連續(xù)性,所以在執(zhí)行后要再對圖像進行一次閉合操作,使斷開的線連貫起來。
經過細線化等多個步驟后,原來高分辨率的彩色數字圖像文件,變換成低分辨率的二值化數字形狀骨架圖像文件,為數字系統(tǒng)識讀提供了良好基礎。