王海豐
摘? 要: 光學字符識別(OCR)時,輸出的文本行順序需與實際的順序相符。文章在字符Blob分析的基礎上,對兩個字符Blob外接矩形的相對位置關系進行劃分,確定了各位置關系下同一文本行的判斷方法,據(jù)此對排序后的字符Blob進行文本行初次生成和文本行二次合并,實現(xiàn)了任意方向文本行的生成。實際測試結果驗證了所述方法生成任意方向文本行的有效性。
關鍵詞: 光學字符識別; Blob分析; 外接矩形; 任意方向; 文本行
中圖分類號:TP29? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)03-11-03
Abstract: The output text line order from OCR (optical character recognition) process should be consistent with the actual order. On the basis of analyzing character Blob, this paper divides the relative position relationship of the bounding rectangle of the two characters Blob to determine the judgment method of the same text line under each position relationship. Then text lines are generated for the first time with the sorted character Blobs and merged for the second time, which realizes the arbitrary direction text line generation. The actual test results verify the effectiveness of the method.
Key words: optical character recognition; Blob analysis; bounding rectangle; arbitrary direction; text line
0 引言
Blob指圖像中的一塊連通區(qū)域,Blob分析是對前景/背景分離后的二值圖像,進行連通域提取和標記。經(jīng)過特定處理后,標記的每個Blob可以表示一個字符,可以計算字符圖像的面積、質心、外接矩形等幾何特征[1]。組成文本行的字符Blob及外接矩形如圖1所示,綠色的矩形表示Blob的外接矩形[2],綠色外接矩形包圍的白色像素表示字符的連通區(qū)域[3],多個字符Blob共同組成一個文本行。
光學字符識別(OCR)時,需要對圖像做的預處理包括獲取字符區(qū)域、圖像二值化、傾斜校正、字符分割、字符識別等[4-5]。傾斜校正是圖像處理中的重要步驟,對后續(xù)的字符分割、字符識別等均有影響。文本行所在的直線,能夠有效表示出文本圖像的旋轉角度和傾斜程度,從而為傾斜校正提供所需的基本數(shù)據(jù)支持。光學字符識別的輸出的結果,需要按照實際的段落和文本行進行組織[6-7]。因此,文本行生成,不僅是光學字符識別過程中必不可少的一個環(huán)節(jié),而且是保證識別結果正確性的重要因素之一。任意方向文本行生成技術,是將OCR應用于文本方向無法預先確定場合的有效途徑之一,也是提高現(xiàn)有OCR應用體驗的一種方法。
本文在字符Blob分析的基礎上,根據(jù)兩個Blob外接矩形的相對位置關系來判斷是否在同一個文本行中。在對字符Blob排序后,經(jīng)過文本行初次生成和二次合并后,實現(xiàn)了任意方向文本行生成的處理過程。
1 Blob外接矩形
根據(jù)字符Blob外接矩形四個頂點及上下左右四條邊覆蓋的X、Y坐標范圍的特征,兩個外接矩形A和B的位置關系可劃分為XY包含、XY相交、僅x相交,僅y相交,XY相離五種。
⑴ XY包含
外接矩形A的四個頂點均位于外接矩形B內,如圖2⑴所示。
⑵ XY相交
外接矩形A的一個或兩個頂點位于外接矩形B內,如圖2⑵所示。
⑶ 僅X相交
外接矩形A和外接矩形B上下水平線段覆蓋的X坐標范圍有交集,左右垂直線段覆蓋的Y坐標范圍無交集,Y坐標覆蓋范圍的中間差值稱為這兩個Blob外接矩形的Y間隔,如圖2⑶所示。
⑷ 僅Y相交
外接矩形A和外接矩形B左右垂直線段覆蓋的Y坐標范圍有交集,上下水平線段覆蓋的X坐標范圍無交集,X坐標覆蓋范圍的中間差值稱為這兩個Blob外接矩形的X間隔,如圖2⑷所示。
⑸ XY相離
外接矩形A和外接矩形B上下水平線段覆蓋的X坐標范圍和左右垂直線段覆蓋的Y坐標范圍均無交集,如圖2⑸所示。
2 文本行
文本行有多個字符組成,相鄰兩個字符間的距離稱為字符間距;當存在多個文本行時,相鄰兩個文本行間的距離稱為行間距。當一個字符周邊存在另一個字符且兩者的距離小于行間距時,則兩個字符屬于同一個文本行,反之這兩個字符屬于不同的文本行。
兩個字符Blob外接矩形位置關系不同,是否屬于同一個文本行的確定方法也不同,如表1所示,其中[DL]為行間距,k為比例因子,[GY]為兩個外接矩形的Y間隔,[GX]為兩個外接矩形的X間隔。
3 任意方向文本行生成
任意方向文本行生成的過程為:字符排序、文本行初次生成、文本行二次合并。
3.1 字符排序
字符排序的作用是簡化文本行初次生成過程,增加每個文本行初次生成時所包含字符的個數(shù),減少文本行二次合并過程的計算量,提高任意方向文本行生成的效率。字符排序步驟為:
⑴ 計算每個字符Blob外接矩形左邊線段所在的X坐標值;
⑵ 按照X坐標值從小到大的順序,存儲相應的字符Blob。
3.2 文本行初次生成
文本行初次生成的流程如圖3所示。字符排序后,依次取出一個字符,在現(xiàn)有文本行進行添加Blob判斷,若可以添加,則將取出的Blob添加到當前文本行中,反之則對下一個文本行進行添加Blob判斷。若全部文本行遍歷完,沒有找到文本行可以添加取出的字符Blob,則新建一個文本行并添加取出的字符Blob。循環(huán)上述過程,直到取出全部字符Blob。
文本行添加字符Blob的判斷流程如圖4所示,兩個Blob同一文本行判斷即為表格1對應的方法。
3.3 文本行二次合并
對于初次生成的兩個文本行[LA]和[LB],若兩者能夠合并,則文本行[LA]中至少存在一個字符Blob可以添加到文本行[LB]中,反之則兩者不能夠合并。文本行二次合并的處理流程如圖5所示。
4 測試效果
根據(jù)文中描述的任意方向文本行生成方法,分別對小角度、中等角度和大角度文本旋轉的圖像進行處理,生成的文本行分別如圖6、圖7和圖8所示,可以看出,三種文本旋轉角度下,均可以有效生成文本行。
文本行生成過程中主要基于字符Blob外接矩形的位置關系進行判斷,在文本順時針、逆時針旋轉或倒置情況下,外接矩形的相對位置關系依然能夠保持不變[8-9]。因此,在文本會任意旋轉的場景下,文中描述的文本行生成方法同樣能夠保證文本行生成的正確性。
5 結論
文中提出的任意方向文本行生成方法,以Blob外接矩形位置關系分析為基礎,因此,其他基于Blob分析的應用中,均可以采用類似方法進行圖像旋轉角度的檢測。通過對Blob外接矩形長度、寬度及長寬比的篩選,能夠將文中方法應用于復雜背景下圖像旋轉角度的檢測。在保證文本行生成正確性的前提下,減少重復計算,提高運算效率是進一步研究需要關注的方向。
參考文獻(References):
[1] 李百明.基于邊緣檢測和Blob分析的車牌識別技術研究[J].裝備制造技術,2020(10):26-30,34
[2] 毛星云,冷雪飛,等.OpenCV3編程入門[M].北京:電子工業(yè)出版社,2015.2
[3] 路敬祎,薛征,邵克勇,等.基于改進的連通域算法與垂直投影相結合的車牌字符分割[J].自動化技術與應用,2015,34(12):93-97
[4] 郝輝,喬薩礎拉.字符識別研究現(xiàn)狀和發(fā)展趨勢計量分析[J].現(xiàn)代電子技術,2018,41(22):154-158
[5] 盧暢暢,寧少文,唐德昌.光學字符識別技術(OCR)的研究于應用[J].中國戰(zhàn)略新興產(chǎn)業(yè),2018(28):1-3
[6] 方玲玉,龔文友.基于SVM多分類的車牌相似字符識別方法研究[J].計算機與數(shù)字工程,2017,45(7):1411-1415
[7] 陳湘,孫章,丁雪凇.復雜背景下的票據(jù)字符類型識別方法[J].現(xiàn)代電子技術,2020.43(8):44-48
[8] 郝學智,張愛梅,姚鵬威,等.基于字符特征的數(shù)字字符識別[J].計算機與數(shù)字工程,2019,47(9):2295-2299
[9] 潘浩,李蘭.基于Tesseract引擎樣本訓練的驗證碼識別[J].信息與電腦(理論版),2020,32(1):138-139,142