王海丰
摘 要: 光学字符识别(OCR)时,输出的文本行顺序需与实际的顺序相符。文章在字符Blob分析的基础上,对两个字符Blob外接矩形的相对位置关系进行划分,确定了各位置关系下同一文本行的判断方法,据此对排序后的字符Blob进行文本行初次生成和文本行二次合并,实现了任意方向文本行的生成。实际测试结果验证了所述方法生成任意方向文本行的有效性。
关键词: 光学字符识别; 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指图像中的一块连通区域,Blob分析是对前景/背景分离后的二值图像,进行连通域提取和标记。经过特定处理后,标记的每个Blob可以表示一个字符,可以计算字符图像的面积、质心、外接矩形等几何特征[1]。组成文本行的字符Blob及外接矩形如图1所示,绿色的矩形表示Blob的外接矩形[2],绿色外接矩形包围的白色像素表示字符的连通区域[3],多个字符Blob共同组成一个文本行。
光学字符识别(OCR)时,需要对图像做的预处理包括获取字符区域、图像二值化、倾斜校正、字符分割、字符识别等[4-5]。倾斜校正是图像处理中的重要步骤,对后续的字符分割、字符识别等均有影响。文本行所在的直线,能够有效表示出文本图像的旋转角度和倾斜程度,从而为倾斜校正提供所需的基本数据支持。光学字符识别的输出的结果,需要按照实际的段落和文本行进行组织[6-7]。因此,文本行生成,不仅是光学字符识别过程中必不可少的一个环节,而且是保证识别结果正确性的重要因素之一。任意方向文本行生成技术,是将OCR应用于文本方向无法预先确定场合的有效途径之一,也是提高现有OCR应用体验的一种方法。
本文在字符Blob分析的基础上,根据两个Blob外接矩形的相对位置关系来判断是否在同一个文本行中。在对字符Blob排序后,经过文本行初次生成和二次合并后,实现了任意方向文本行生成的处理过程。
1 Blob外接矩形
根据字符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 字符排序
字符排序的作用是简化文本行初次生成过程,增加每个文本行初次生成时所包含字符的个数,减少文本行二次合并过程的计算量,提高任意方向文本行生成的效率。字符排序步骤为:
⑴ 计算每个字符Blob外接矩形左边线段所在的X坐标值;
⑵ 按照X坐标值从小到大的顺序,存储相应的字符Blob。
3.2 文本行初次生成
文本行初次生成的流程如图3所示。字符排序后,依次取出一个字符,在现有文本行进行添加Blob判断,若可以添加,则将取出的Blob添加到当前文本行中,反之则对下一个文本行进行添加Blob判断。若全部文本行遍历完,没有找到文本行可以添加取出的字符Blob,则新建一个文本行并添加取出的字符Blob。循环上述过程,直到取出全部字符Blob。
文本行添加字符Blob的判断流程如图4所示,两个Blob同一文本行判断即为表格1对应的方法。
3.3 文本行二次合并
对于初次生成的两个文本行[LA]和[LB],若两者能够合并,则文本行[LA]中至少存在一个字符Blob可以添加到文本行[LB]中,反之则两者不能够合并。文本行二次合并的处理流程如图5所示。
4 测试效果
根据文中描述的任意方向文本行生成方法,分别对小角度、中等角度和大角度文本旋转的图像进行处理,生成的文本行分别如图6、图7和图8所示,可以看出,三种文本旋转角度下,均可以有效生成文本行。
文本行生成过程中主要基于字符Blob外接矩形的位置关系进行判断,在文本顺时针、逆时针旋转或倒置情况下,外接矩形的相对位置关系依然能够保持不变[8-9]。因此,在文本会任意旋转的场景下,文中描述的文本行生成方法同样能够保证文本行生成的正确性。
5 结论
文中提出的任意方向文本行生成方法,以Blob外接矩形位置关系分析为基础,因此,其他基于Blob分析的应用中,均可以采用类似方法进行图像旋转角度的检测。通过对Blob外接矩形长度、宽度及长宽比的筛选,能够将文中方法应用于复杂背景下图像旋转角度的检测。在保证文本行生成正确性的前提下,减少重复计算,提高运算效率是进一步研究需要关注的方向。
参考文献(References):
[1] 李百明.基于边缘检测和Blob分析的车牌识别技术研究[J].装备制造技术,2020(10):26-30,34
[2] 毛星云,冷雪飞,等.OpenCV3编程入门[M].北京:电子工业出版社,2015.2
[3] 路敬祎,薛征,邵克勇,等.基于改进的连通域算法与垂直投影相结合的车牌字符分割[J].自动化技术与应用,2015,34(12):93-97
[4] 郝辉,乔萨础拉.字符识别研究现状和发展趋势计量分析[J].现代电子技术,2018,41(22):154-158
[5] 卢畅畅,宁少文,唐德昌.光学字符识别技术(OCR)的研究于应用[J].中国战略新兴产业,2018(28):1-3
[6] 方玲玉,龚文友.基于SVM多分类的车牌相似字符识别方法研究[J].计算机与数字工程,2017,45(7):1411-1415
[7] 陈湘,孙章,丁雪凇.复杂背景下的票据字符类型识别方法[J].现代电子技术,2020.43(8):44-48
[8] 郝学智,张爱梅,姚鹏威,等.基于字符特征的数字字符识别[J].计算机与數字工程,2019,47(9):2295-2299
[9] 潘浩,李兰.基于Tesseract引擎样本训练的验证码识别[J].信息与电脑(理论版),2020,32(1):138-139,142