姜 文,盧朝陽,李 靜
(西安電子科技大學 通信工程學院,陜西 西安710071)
近年來,隨著科技的發(fā)展,手機的應用范圍越來越廣泛,這就給手機終端上的手寫輸入以及手寫識別提供了很大的發(fā)展空間。目前,國內(nèi)手機上的中文手寫輸入技術(shù)發(fā)展很迅速,國外關(guān)于英文、阿拉伯文等文字的手機終端手寫輸入技術(shù)已經(jīng)發(fā)展得比較成熟了。我國新疆地區(qū)的少數(shù)民族文字——維吾爾族文字與阿拉伯文非常相似,可以借鑒阿拉伯文手機終端的手寫輸入技術(shù)。不同的人有不同的書寫風格,造成手寫體維吾爾文有很大的隨意性;而且受手機屏幕大小的限制,導致手機終端上手寫的維文字符會產(chǎn)生一定的傾斜度。進行聯(lián)機和脫機維文字符的特征提取和識別[1]之前都需要對手寫體維文字符進行傾斜校正。
目前,比較常用的傾斜檢測方法有基于Hough變換的方法[2]、基于交叉相關(guān)性的方法、行間距跨度相關(guān)法[3]、基于 Fourier變換的方法[3]、基于投影的方法[3]和 K-最近鄰簇的方法等。
本文基于Hough變換檢測字符傾斜角度,利用Hough變換對灰度化之后的傾斜字符提取字符的基線,根據(jù)基線并結(jié)合維文字符的書寫特點,利用旋轉(zhuǎn)變換對手寫體維文字符進行傾斜校正。
手寫體維文字符具有如下獨特的特征[4]。
(1)維吾爾文由32個基本字符組成,其中包括8個原音字符和24個輔音字符。
(2)根據(jù)每一個字符出現(xiàn)的位置不同(詞首、詞中、詞末等),通常可以分為獨立、前連、前后連和后連4種書寫形式,因此,維文字符有120多種書寫形式。
(3)維文字符書寫時筆畫連續(xù)流暢,根據(jù)從右向左的方向書寫,主體筆劃方向特征明顯。
(4)維文字符的筆劃較少,許多字符的主體筆劃相同,僅僅根據(jù)不同的附加筆劃來區(qū)分,附加部分與字符主體上、下不粘連。一般地,主體筆劃是沿著基線書寫的,而附加筆劃在基線的上方或下方分布,所以基線可以作為區(qū)分附加筆畫位置的參考線。
維文字符的120多種形式是以32個基本字符為基礎的,是根據(jù)字符處于詞的不同位置而變換出來的。對32個基本字符按照基線進行分類,其中基線為垂直線的有9個,基線為水平線的有22個,其他1個。
Hough變換的原理[2,4]是:利用圖像空間和 Hough參數(shù)空間的點-線對偶性,將圖像空間的檢測問題轉(zhuǎn)換到參數(shù)空間。通過在參數(shù)空間里進行簡單的累加統(tǒng)計,再根據(jù)概率最大原理得到圖像空間的一些特性,最后將數(shù)據(jù)映射回圖像空間。Hough變換檢測受干擾的影響較小,是一種快速的直線檢測方法。在實際應用中,通常圖像平面上的一個點就對應到參數(shù)r-θ平面上的一條曲線上。如圖1所示,直線與原點的法線距離為r,法線與x軸的夾角為θ,直線上的每個點都滿足:
r=x×cosθ+y×sinθ (1)
計算Hough變換的方法是將r-θ域量化成許多小格,如表 1所示。
對于每一個點 (x0,y0) 代入 θ的量化值,算出 r(經(jīng)量化)落在哪個小格內(nèi),便對該小格的計數(shù)累加器加 1。當全部點(x,y)變換后,對小格進行檢驗,計數(shù)較大的小格對應共線點,其(r,θ)可用作直線擬合參數(shù);計數(shù)較小的小格一般反映非共線點,丟棄不用。
表 1 r-θ量化表
如果r和θ量化得太粗糙,則參數(shù)空間的凝聚效果差,找不到直線準確的 r、θ值;相反,如果 r、θ量化得過細,則計算量將增大,因此需兼顧這兩方面,取合適的量化值。
Hough變換在檢測過程中抗干擾性好,它利用圖像空間目標像素的坐標去計算參數(shù)空間中參考點的可能軌跡,是一種很好的直線提取方法。
2.2.1 維文字符預處理
進行Hough變化之前還需要對字符圖像進行預處理,包括灰度化和細化兩個過程。
(1)對字符圖像進行灰度化。將24色位圖格式的傾斜維文字符圖像轉(zhuǎn)換成256色的灰度圖像,并進行去噪處理。
(2)通過細化,對字符圖像進行骨架提取。
2.2.2 手寫體維文字符雙線傾斜檢測算法
算法過程如下:
(1)初始化一塊內(nèi)存區(qū)域分配給(r,θ)變換域,存儲參數(shù)(r,θ)對應的累加數(shù)據(jù),將 θ的取值范圍定為 0°~180°,定義 r的最大值的表達式為:(其中,lWidth、lHeight分別表示字符圖像的高度和寬度),分配 r×180×sizeof(int)字節(jié)的內(nèi)存區(qū)域作為 θ變換域。
(2)對字符圖像中的所有點(i,j)進行 Hough變換,將角度 θ取值范圍分為(0°,90°)和(91°,180°)兩個區(qū)間,當θ 在 (0°,90°) 范圍時,r=i×cos(θ×π/180°)+j×sin(θ×π/180°);而 θ在 (91°,180°)范圍 時,r=i×cos((180°-θ)×π/180°)+(lHeight-j)×sin((180°-θ)×π/180°);然后將變換域中(r,θ)對應的計數(shù)累加器加 1。
(3)經(jīng)過 Hough變換之后,在(r,θ)變換域中找出最大值,由最大值在變換域中的位置確定參數(shù)r和θ,其中θ就是檢測到的第一個傾斜角α。
(4)完成第一個傾斜角度的提取之后,將(r,θ)變換域中最大值附近數(shù)值清零,繼續(xù)在(r,θ)變換域中尋找第二個最大值,提取第二個傾斜角β。
(5)將角度α和β轉(zhuǎn)換為檢測出來的直線與水平線的夾角。
把兩條檢測出來的直線繪制在字符圖像中,結(jié)果如圖2所示。
根據(jù)檢測出的傾斜角度α和β,對維文字符進行旋轉(zhuǎn)變換,實現(xiàn)字符的傾斜校正。
實驗利用Visual Studio 2008為平臺編寫程序來實現(xiàn)基于Hough變換的維文字符的傾斜校正。大多數(shù)手寫體字符的傾斜校正角度在[-45°,45°]之間,少數(shù)手寫體字符的傾斜校正角度超出這個范圍。以水平基線或者垂直基線為軸進行校正,校正結(jié)果與印刷體原圖的對比如圖 3、圖 4所示。
一些字符使用基于水平或者垂直基線進行校正之后,仍不能得到理想的效果。為了解決這一特殊情況,根據(jù)雙線檢測提取出兩個傾斜角度,可采用角平分線法,即將Hough變換檢測到的兩條直線的角平分線作為基線進行傾斜校正。利用角平分線法進行校正的結(jié)果如圖5、圖 6所示。
可以看出,與單純使用水平基線或垂直基線作為旋轉(zhuǎn)軸相比,使用角平分線法對傾斜維文字符進行校正,傾斜度有了明顯的改善。
對480幅傾斜手寫體圖像進行字符校正,結(jié)果如表2和表3所示,其中表3根據(jù)基線的檢測次序分類,表3根據(jù)基線的方向分類。
本文根據(jù)維文字符的書寫特點和字符基線位置的不同對字符進行分類;對經(jīng)過預處理的維文手寫體字符采用基于Hough變換的雙線傾斜校正算法提取傾斜角度。用該算法校正了480幅不同的手寫體維文字符,得到了滿意的效果。國內(nèi)外均有文獻研究手寫體數(shù)字的傾斜校正[5],本文算法也可用于手寫體數(shù)字的傾斜校正。此外,該算法也可用于處于傾斜狀態(tài)的印刷體維文字符和印刷體數(shù)字的傾斜校正。
表2 根據(jù)基線的檢測次序分類
表3 根據(jù)基線的方向分類
[1]任宏宇,袁保社,田園.基于BP神經(jīng)網(wǎng)絡的維吾爾聯(lián)機手寫字符識別[J].微電子學與計算機,2010,27(8):238-241.
[2]MAHMOUD A,SHATNAWI A,OMAR K.Skew detection and correction technique for arabic document images based on centre of gravity[J].Journal of Computer Science,2009,21(3):363-368.
[3]李政,楊揚,頡斌,等.一種基于 Hough變換的文檔圖像傾斜糾正方法[J].計算機應用,2005,25(3):583-585.
[4]萬芳.聯(lián)機手寫維吾爾文字識別技術(shù)的研究與實現(xiàn)[D].烏魯木齊:新疆大學,2007.
[5]王有偉,劉捷.手寫體數(shù)字識別中的一種新的傾斜校正的 方 法[J].計 算 機 工 程 ,2004,30(11):128-130.