CN102063621B - 文字行几何畸变校正方法和装置 - Google Patents

文字行几何畸变校正方法和装置 Download PDF

Info

Publication number
CN102063621B
CN102063621B CN 201010568404 CN201010568404A CN102063621B CN 102063621 B CN102063621 B CN 102063621B CN 201010568404 CN201010568404 CN 201010568404 CN 201010568404 A CN201010568404 A CN 201010568404A CN 102063621 B CN102063621 B CN 102063621B
Authority
CN
China
Prior art keywords
name
image
line
literal line
benchmark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201010568404
Other languages
English (en)
Other versions
CN102063621A (zh
Inventor
李永彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hanwang Technology Co Ltd
Original Assignee
Hanwang Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hanwang Technology Co Ltd filed Critical Hanwang Technology Co Ltd
Priority to CN 201010568404 priority Critical patent/CN102063621B/zh
Publication of CN102063621A publication Critical patent/CN102063621A/zh
Application granted granted Critical
Publication of CN102063621B publication Critical patent/CN102063621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种文字行几何畸变校正方法和装置,属于光学字符识别领域。方法部分包括如下步骤:对二值图像中的各文字行进行提取;根据提取到的各文字行进行选取,选取基准文字行;判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行;将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。本发明针对文字行的字块类型区别处理,对多种语种的文字行几何畸变图像均具有好的校正效果;采用分段游程抹黑技术进行游程抹黑,能够获取准确的校正曲线,校正效果好;适用于各行文字具有不同畸变的文字段的校正,适应性好;由于沿校正曲线各点的法线方向采样作为校正后图像的像素列,能够有效校正字符的畸变。

Description

文字行几何畸变校正方法和装置
技术领域
本发明属于光学字符识别领域,特别涉及一种文字行几何畸变校正方法和装置。
背景技术
电子扫描笔(简称扫描笔)是OCR的重要应用之一。扫描笔的技术原理为:光学摄像头按照一定频率对被扫描资料进行连续拍照,获取被扫资料的图像序列后将图像序列拼接成一幅全景图像并进行OCR处理。在扫描过程中,由于扫描笔的轴向旋转会导致得到的全景图像中的文字行出现倾斜甚至弯曲,这会影响后续的OCR识别。因此,在得到全景图像后,需要先对其进行几何畸变校正,将其中的文字行校正成水平行后才能进行后续的处理。
对于文字行几何畸变图像的校正,一般是先要获取文字行的几何畸变曲线,这条曲线也称为校正曲线,然后根据校正曲线对文字行几何畸变图像进行校正。基于这种思想的一种典型方法是,先对文字行图像进行游程抹黑处理,然后通过穿越线对游程进行区段划分,接下来分析游程区段以获取曲线拟合的采样点集并进行曲线拟合,最后根据校正曲线利用图像错切技术,即根据校正位置对图像中的像素列进行竖直方向移动以完成校正。该方法存在以下三点不足:一是没有针对文字行的字块类型区别处理,其对由方块字构成的文字行处理效果尚可,但对由非方块字构成的文字行的校正效果差;二是该方法采用全局阈值进行游程抹黑,但一般不存在合理的全局阈值,从而抹黑效果差,导致校正效果差;三是该方法在得到校正曲线后采取的图像错切校正方法,存在校正后字符变形的情况。
发明内容
本发明所要解决的技术问题为提供一种文字行几何畸变校正方法和装置,对文字行的字块类型分类并分别处理,采用分段游程抹黑技术获取校正曲线,并沿校正曲线各点的法线方向采样校正图像,对多种语种的文字行几何畸变图像均具有好的校正效果,适用于具有不同畸变的文字段的校正。
本发明公开了一种文字行几何畸变校正方法,包括如下步骤:
步骤一:对二值图像中的各文字行进行提取;
步骤二:根据提取到的各文字行进行选取,选取基准文字行;
步骤三:判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行;
步骤四:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
本发明还公开了一种文字行几何畸变校正装置,包括如下模块:
提取模块:对二值图像中的各文字行进行提取;
选取模块:根据提取到的各文字行进行选取,选取基准文字行;
抹黑模块:判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行;
校正模块:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
本发明文字行几何畸变校正方法和装置,具有以下优点:
1、针对文字行的字块类型区别处理,对多种语种的文字行几何畸变图像均具有好的校正效果;
2、采用分段游程抹黑技术,能够获取准确的校正曲线,校正效果好;适用于各行文字具有不同畸变的文字段的校正,适应性好;
3、由于沿校正曲线各点的法线方向采样作为校正后图像的像素列,本方法能够有效校正字符的畸变。
附图说明
图1为本发明实施例之一的二值图像。
图2为本发明文字行几何畸变校正方法的一个实施例的流程图。
图3为本发明实施例流程图中步骤10的一个具体执行流程图。
图4为本发明实施例之一的步骤101的连通域标记结果示意图。
图5为本发明实施例之一的步骤103的第一尺度块示意图。
图6为本发明实施例之一的步骤104的去掉较小第一尺度块后剩余第一尺度块的示意图。
图7为本发明实施例之一的步骤105的第二尺度块示意图。
图8为本发明实施例之一的步骤106的第三尺度块示意图。
图9为本发明实施例之一的步骤107的文字行示意图。
图10为本发明实施例之一的步骤20的基准文字行示意图。
图11为本发明实施例流程图中步骤30的一个具体执行流程图。
图12为本发明实施例之一的步骤30中的子步骤的结果。
图13为本发明实施例流程图中步骤40的一个具体执行流程图。
图14为本发明实施例之一的步骤401的基准文字行的连通域合并结果示意图。
图15为本发明实施例之一的步骤40中的子步骤的结果。
图16为本发明实施例之一的步骤406的基准文字行的初始抹黑图像的示意图。
图17为本发明实施例之一的步骤406的去掉不平滑凹陷或凸起后的基准文字行的抹黑图像的示意图。
图18为本发明实施例流程图中步骤50的一个具体执行流程图。
图19为本发明实施例之一的步骤501的基准文字行抹黑图像的采样结果示意图。
图20本发明实施例之一的步骤502的基准文字行抹黑图像的二次采样结果示意图。
图21本发明实施例之一的步骤503的校正曲线示意图。
图22本发明实施例之一的步骤60的图像校正过程的示意图。
图23本发明实施例之一的校正结果图像。
图24为本发明实施例之二的二值图像。
图25为本发明实施例之二的步骤101的连通域标记结果示意图。
图26为本发明实施例之二的步骤103的第一尺度块示意图。
图27为本发明实施例之二的步骤104的去掉较小第一尺度块后剩余第一尺度块的示意图。
图28为本发明实施例之二的步骤105的第二尺度块示意图。
图29为本发明实施例之二的步骤106的第三尺度块示意图。
图30为本发明实施例之二的步骤107的文字行示意图。
图31为本发明实施例之二的步骤20的基准文字行示意图。
图32为本发明实施例之二的步骤30中的子步骤的结果。
图33为本发明实施例之二的步骤401的基准文字行的连通域合并结果示意图。
图34为本发明实施例之二的步骤402的从基准文字行中挑选的用于抹黑的连通域的示意图。
图35为本发明实施例之二的步骤40中的子步骤的结果。
图36为本发明实施例之二的步骤406的基准文字行的初始抹黑图像的示意图。
图37为本发明实施例之二的步骤406的去掉不平滑凹陷或凸起后的基准文字行的抹黑图像的示意图。
图38为本发明实施例之二的步骤501的基准文字行抹黑图像的采样结果示意图。
图39本发明实施例之二的步骤502的基准文字行抹黑图像的二次采样结果示意图。
图40本发明实施例之二的步骤503的校正曲线示意图。
图41本发明实施例之二的校正结果图像。
具体实施方式
为了能更清楚地理解本发明的技术内容,特举以下两个实施例详细说明。
实施例之一
本发明公开了一种文字行几何畸变校正方法和装置。首先获取二值图像中的文字行并从中选出作为校正基准的文字行,然后判断基准文字行的字块类型,再根据字块类型利用分段游程抹黑算法抹黑基准文字行图像,接下来对抹黑图像采样并根据采样点集计算校正曲线,最后在畸变图像中沿校正曲线的法线方向采样作为校正后图像的像素列,从而完成对文字行几何畸变图像的校正。
如图1所示,提供扫描笔获取的字块类型为方块字的二值图像为第一实施例,图2所示为实施例的流程图,具体处理步骤如下:
步骤10,对二值图像中的各文字行进行提取。本实施例中采用了一种自底向上的文字行提取方法,如图3所示,具体步骤如下:
步骤101,对二值图像中的各连通域进行统计,根据得到的字符宽度和字符高度对各连通域进行合并,得到第一尺度块。在本实施例中,采用8-连通域标记,标记结果如图4所示。计算各连通域的宽度并从小到大排序,从最大宽度值开始依次累加各个宽度值对应的连通域的个数,当累加个数大于等于连通域总个数的十分之一时停止累加,取此时对应的连通域的宽度值为字符宽度;计算各连通域的高度并从小到大排序,从最大高度值开始依次累加各个高度值对应的连通域的个数,当累加个数大于等于连通域总个数的十分之一时停止累加,取此时对应的连通域的高度值为字符高度。在本实施例中,全景二值图像的字符宽度为57,字符高度为60。
合并二值图像中的各连通域得到第一尺度块,第一尺度块由符合一定条件的相包含或相交或相邻的连通域构成。对于各连通域中一个连通域包含另一个连通域的情况,如果较大连通域的宽度小于等于字符宽度的1.5倍,即85,并且较大连通域的高度小于等于字符高度的1.5倍,即90,则将两相包含的连通域进行合并。对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。对于相交的连通域,如果合并后的连通域的宽度小于等于字符宽度的1.5倍,即85,并且结果合并后的连通域的高度小于等于字符高度的1.5倍,即90,则将两相交的连通域进行合并,对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。对于左右相邻且竖直方向有交叠的连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即71,并且高度小于等于字符高度的五分之六,即72,则将两左右相邻且竖直方向有交叠的连通域进行合并,对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。对于上下相邻且水平方向有交叠的连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即71,并且高度小于等于字符高度的五分之六,即72,则将两上下相邻且水平方向有交叠的连通域进行合并,对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。上述合并结束后,尚未参与合并的连通域及合并的结果连通域为第一尺度块。本实施例中,经过合并后,得到的第一尺度块如图5所示。
步骤102,将大于字符高度二分之一的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块。由于本实施例中较小的第一尺度块会干扰后面的合并,则需去除较小的第一尺度块。此处较小的第一尺度块为高度小于等于30的第一尺度块。本实施例中,去掉较小的第一尺度块后,剩余的第一尺度块如图6所示。
合并第一尺度块后得到第二尺度块。第二尺度块由一个或多个满足一定条件的第一尺度块组成,构成第二尺度块的每个第一尺度块称为这个第二尺度块的子块。将所有的第一尺度块按照从左到右的顺序进行排序,计算第一尺度块间的参考水平间距,根据参考水平间距进行合并。
计算第一尺度块间的参考水平间距的具体方法为:从第一个第一尺度块开始遍历所有的第一尺度块,对于当前第一尺度块,找出位于其右侧的与其在竖直方向有交叠且水平方向距离最近的第一尺度块,将二者之间的水平方向距离作为当前第一尺度块的水平间距,水平间距用其右侧第一尺度块的左侧坐标值减去当前第一尺度块的右侧坐标值表示,取所有这些水平间距值的中值作为参考水平间距,本实施例中,计算得到的第一尺度块间的参考水平间距为7。
合并第一尺度块以得到第二尺度块的具体方法是:从第一个第一尺度块开始依次遍历所有的第一尺度块,如果当前第一尺度块已经属于某个第二尺度块,则跳过该第一尺度块,否则创建一个新的第二尺度块并将当前第一尺度块添加到该第二尺度块中,然后将满足一定条件的第一尺度块都合并到该第二尺度块中。对于一个新建的第二尺度块,以第二尺度块中的第一个子块为当前子块,搜索能够合并到该第二尺度块的第一尺度块,能够合并到该第二尺度块的第一尺度块需要满足如下条件:
1)尚未合并到任何第二尺度块;
2)位于当前子块右侧;
3)与当前子块的水平方向距离小于等于2倍的参考水平间距,即14;
4)与当前子块在竖直方向有交叠且交叠高度大于等于当前子块高度与该第一尺度块高度中较小者的三分之一。
如果不存在满足条件1)、2)、3)、4)的第一尺度块,则该第二尺度块结束合并;如果满足条件1)、2)、3)、4)的第一尺度块只有一个,则将这一个合并,合并后将新加入的第一尺度块作为当前子块继续进行搜索合并;如果满足条件1)、2)、3)、4)的第一尺度块有多个,则只取竖直方向交叠最大的一个合并,合并后将新加入的第一尺度块作为当前子块继续进行搜索合并。本实施例中,得到的第二尺度块的示意图如图7所示,其中黑框表示各第一尺度块,属于同一第二尺度块的第一尺度块用线段连接。
步骤103,将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块。第三尺度块由一个或多个满足一定条件的第二尺度块的所有子块组成,即第三尺度块也是由第一尺度块组成,它与第二尺度块的区别在于尺度大小不同。将所有的第二尺度块按照从左到右的顺序进行排序,计算第二尺度块间的第二参考水平间距后进行合并。
计算第二尺度块间的第二参考水平间距的具体方法为:从第一个第二尺度块开始,依次遍历所有的第二尺度块,对于当前第二尺度块,找出位于其右侧的、与其在竖直方向有交叠且水平方向距离最近的第二尺度块,将二者之间的水平方向距离作为当前第二尺度块的水平间距,取各第二尺度块对应的水平间距值的中值作为第二参考水平间距,其中,竖直方向有交叠为两个第二尺度块的相邻的两个子块在竖直方向存在交叠,水平方向距离为当前第二尺度块右侧的第二尺度块的左坐标值减去当前第二尺度块的右坐标值。本实施例中,各第二尺度块对应的第二参考水平间距为39。
将各第二尺度块进行合并得到第三尺度块的具体方法是:从第一个第二尺度块开始,依次遍历所有的第二尺度块,如果当前第二尺度块已经属于某个第三尺度块,则跳过该第二尺度块,否则创建一个新的第三尺度块并将当前第二尺度块的子块都添加到该第三尺度块中,然后将所有满足一定条件的第二尺度块的子块都合并到该第三尺度块中。对于一个新建的第三尺度块,以其最右侧的第一尺度块为当前子块,搜索能够合并到该第三尺度块的第二尺度块,能够合并到该第三尺度块的第二尺度块需要满足如下条件:
1)尚未合并到任何第三尺度块;
2)位于当前子块右侧;
3)与当前子块的水平方向距离小于等于2倍的第二参考水平间距,即78;
4)其最左侧子块与当前子块在竖直方向有交叠; 
如果不存在满足条件1)、2)、3)、4)的第二尺度块,则该第三尺度块结束合并;如果满足条件1)、2)、3)、4)的第二尺度块只有一个,则将其子块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧的第一尺度块作为当前子块继续进行搜索合并;如果满足条件1)、2)、3)、4)的第二尺度块有多个,则只将竖直方向交叠高度最大者的子块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧的第一尺度块作为当前子块继续进行搜索合并。本实施例中,得到的第三尺度块的示意图如图8所示,其中黑框表示每个第一尺度块,属于同一第三尺度块的第一尺度块用线段相连。
步骤104,将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。文字行由满足一定条件的第三尺度块的所有子块构成,即文字行也是由第一尺度块构成,它与第三尺度块的区别在于尺度不同。将所有的第三尺度块按照从左到右的顺序进行排序,计算含有三个及三个以上第一尺度块的第三尺度块的左右两端的延长线后进行合并。对于含有三个及三个以上第一尺度块的第三尺度块,其左端延长线由位于其最左侧的三个第一尺度块计算得到,其右端延长线由位于其最右侧的三个第一尺度块计算得到,延长线可以通过提取三个第一尺度块的中心点坐标并用最小二乘法拟合得到。
合并第三尺度块以得到文字行的具体方法是:从第一个第三尺度块开始,依次遍历所有含有三个及三个以上第一尺度块的第三尺度块,如果当前第三尺度块已经属于某个文字行,则跳过该第三尺度块,否则创建一个新的文字行并将当前第三尺度块的子块都添加到该文字行中,以当前第三尺度块的左右两端延长线作为文字行左右两端延长线,然后将所有满足一定条件的第三尺度块的第一尺度块都合并到该文字行中。对于一个新建的文字行,分别搜索位于当前文字行左右两侧的能够合并到当前文字行的第三尺度块。
对于位于当前文字行左侧的第三尺度块,合并条件如下:
 1)尚未合并到任何文字行;
2)文字行左端延长线穿过当前第三尺度块的最右侧的第一尺度块; 
如果不存在满足条件1)、2)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)的第三尺度块,则将该第三尺度块中的第一尺度块合并到该文字行中。如果该第三尺度块有左端延长线,则将其作为合并后的文字行的左端延长线,否则取合并后的文字行的最左侧的三个第一尺度块重新计算左端延长线,并以合并后的文字行继续向左进行搜索合并。
对于位于当前文字行右侧的第三尺度块,合并条件如下:
1)尚未合并到任何文字行;
2)文字行右端延长线穿过当前第三尺度块的最左侧的第一尺度块; 
如果不存在满足条件1)、2)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)的第三尺度块,则将该第三尺度块中的第一尺度块合并到该文字行中,如果该第三尺度块有右端延长线,则将其作为合并后的文字行的右端延长线,否则取合并后的文字行的最右侧的三个第一尺度块重新计算右端延长线,并以合并后的文字行继续向右进行搜索合并。本实施例中,得到的文字行的示意图如图9所示,其中黑框表示每个第一尺度块,属于同一文字行的第一尺度块用线段相连。
经过上述处理,得到二值图像中的文字行。注意,由于此处得到的文字行是为了提取完毕后进而进行校正,所以得到的文字行不必包含图像中的所有笔画。
步骤20,根据提取到的各文字行进行选取,选取基准文字行。本实施例的二值图像通过扫描笔拼接获取,所述二值图像扫描轨迹线,由参与拼接的各帧图像的中心点通过线段连接形成。对于扫描笔来说,待识别的目标文字行一般位于图像中间位置,则本实施例中选取图像中部的文字行为基准文字行。具体来说,如果二值图像中只有一行文字,则该行文字就是基准文字行;如果二值图像中有两个及两个以上的文字行,则计算各行中的每个第一尺度块的中心与二值图像扫描轨迹线的距离平均值,如果某行的距离平均值小于其他行的距离平均值5个像素点以上,则该行就是基准文字行,否则取各第一尺度块的中心与轨迹线的距离平均值最小的两文字行中的长度较长者为二值图像的基准文字行。如图10所示,为本实施例中的基准文字行,黑框表示各第一尺度块。
步骤30,判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行。
根据字符的几何结构而言将字符类型分为方块字和非方块字两类,中文、日文、韩文等字符属于方块字,英文、德文、阿拉伯文等字符属于非方块字。为了获取准确的校正曲线需对文字行进行字块类型的划分,理想中的校正曲线对应于畸变前的图像中的一条水平线,如果用于计算校正曲线的采样点来自于畸变前图像中的一条水平线上,则得到的校正曲线会更准确。对于方块字和非方块字来说,这条对齐线的位置和计算方法是不一样的,具体来说,方块字取文字行的中线作为对齐线,非方块字取文字行的基线作为对齐线。
由于方块字(如中文、日文等)的特点,在方块字的抹黑图像的上下边缘不存在凸起,而在非方块字(如英文、拉丁文等)的抹黑图像的上下边缘存在凸起,则通过统计抹黑图像中上下边缘的凸起数目可以判断基准文字行中的字块类型,如图11所示,具体包括如下步骤:
步骤301,将基准文字行图像进行分段,并对得到的各图像段进行倾斜校正。基准文字行由第一尺度块构成,将这些第一尺度块按照从左到右的顺序排序,按第二既定数目的第一尺度块将基准文字行进行分段,各图像段之间重叠第三既定数目的第一尺度块。本实施例中,每5个第一尺度块分为一图像段,图像段之间重叠2个第一尺度块,如果总的第一尺度块数目小于等于5,则只分为一图像段,如果总的第一尺度块数目大于5,若不能正好分为整数个图像段,则最后一图像段由从最右端的第一尺度块起向左计5个第一尺度块构成。本实施例中,第一尺度块总数为28,共分为9个图像段。分段后利用每图像段中的各第一尺度块的中心点通过最小二乘法计算得到每一图像段的倾斜角度,各图像段的倾斜角度如图12中“倾斜角度”一栏所示。得到各图像段的倾斜角度后,各图像段根据各自的倾斜角度进行倾斜校正,倾斜校正后的各图像段如图12中“倾斜校正后的图像段”一栏所示。
步骤302,计算倾斜校正后得到的各图像段中的水平游程抹黑阈值。对某个倾斜校正后的段图像,计算各行中的所有白游程的长度,白游程即位于两个黑像素间的由连续白像素点构成的像素线段,将这些白游程长度从小到大排序,从最大长度值开始,依次累加各个长度值对应的白游程的个数,当累加个数大于等于白游程总数的五分之一时停止累加,取此时的长度值为该图像段的水平游程抹黑阈值。本实施例中,得到的各图像段的水平游程抹黑阈值如图12中“水平游程抹黑阈值”一栏所示。
步骤303,根据水平游程抹黑阈值抹黑倾斜校正后的各图像段。所述游程抹黑,即将长度小于一定阈值的白游程的像素点置为黑色,分为行游程抹黑和列游程抹黑。对于倾斜校正后的各图像段中的各行,将其中长度小于该段图像水平游程抹黑阈值的3倍的白游程的像素点置黑;对于倾斜校正后的各图像段中的各列,将其中所有的白游程的像素点都置黑。本实施例中,倾斜校正后的各图像段的抹黑图像如图12中“抹黑后的段图像”一栏所示。
步骤304,统计得到的抹黑后各图像段的上下边缘的凸起数目。首先计算各抹黑后图像段的公共参考高度,方法为:计算每段图像中各列像素的黑游程长度,取所有这些长度的中值作为公共参考高度,本实施例中,公共参考高度为56。然后计算各段抹黑图像的上基线和下基线,从某段抹黑图像的最上一像素行开始依次向下,第一个含有黑像素数目超过该段抹黑图像的宽度的二分之一的像素行为上基线;从某段抹黑图像的最下一像素行开始依次向上,第一个含有黑像素数目超过该段抹黑图像的宽度的二分之一的像素行为下基线。最后统计抹黑后各图像段的上下边缘的凸起数目,上凸起为位于上基线之上的大于一定宽度和高度的黑像素块,下凸起为位于下基线之下的大于一定宽度和高度的黑像素块,宽度的阈值为4,高度阈值为抹黑后对应的各图像段的公共参考高度的四分之一,即14。各图像段中的上下凸起的数目如图12中“上凸起数目”和“下凸起数目”两栏所示。
步骤305,根据凸起数目判断基准文字行中的字块类型。如果各段抹黑图像中的凸起数目大于等于基准文字行中各图像段数目的二分之一,则字块类型为非方块字,否则,字块类型为方块字。将各段抹黑图像中的上下凸起的数目加和,如果凸起总数大于等于各图像段数目的二分之一,则文字行中的字块类型为非方块字,否则,文字行中的字块类型为方块字。本实施例中,上凸起和下凸起的总数目为1,总段数为9,所以基准文字行的字块类型判断为方块字。
本实施例中的字块类型判断为方块字。游程抹黑对水平文字行具有良好的抹黑效果,但是对于存在几何畸变的文字行抹黑效果差。分段游程抹黑是游程抹黑的一种精细化变形,认为每一段图像中的文字处于一条直线上,首先对文字行中的几何畸变图像进行分段,再通过倾斜校正将每一段图像中的文字校正到一条水平直线上,然后对校正后的每一段图像进行游程抹黑,最后利用抹黑后各图像段生成整个文字行的抹黑图像。根据字块类型分段抹黑基准文字行时,如图13所示,具体包括如下步骤:
步骤311:根据字块类型合并基准文字行的连通域。基准文字行由第一尺度块构成,第一尺度块由各连通域构成,故基准文字行由连通域构成,根据字块类型对这些连通域重新进行合并。如果字块类型为方块字,将水平方向上具有小于等于字符宽度的四分之一的交叠,且合并后的宽度小于等于字符宽度的五分之六的两相邻连通域进行合并,直至所有连通域合并完毕;如果字块类型为非方块字,去掉宽度和高度均小于字符高度的三分之一的连通域,且合并后的宽度小于等于字符宽度的五分之六的两相邻连通域进行合并,直至所有连通域合并完毕。将所有的连通域从左到右进行排序,对于满足条件:
1)两个连通域左右相邻;
2)将水平方向上具有小于等于字符宽度的四分之一的交叠,则右侧连通域的左端坐标值减去左侧连通域的右侧坐标值的结果小于等于字符宽度57的四分之一;
3)两个连通域合并后的宽度小于等于字符宽度57的五分之六的连通域进行合并,合并后的结果连通域作为一个新连通域继续参与合并,直到任何两个连通域都不能再合并为止。合并后的连通域如图14所示,挑选用于抹黑的连通域。
步骤311后还包括对于字块类型为方块字的文字行,去掉高度小于高度中值的五分之四的连通域;对于字块类型为非方块字的文字行,去掉高度小于高度中值的五分之四和高度大于高度中值的七分之八的连通域。本实施例中,先计算所有连通域的高度的中值为60,然后去掉高度中值的五分之四,即48的连通域。本实施例中,没有过矮的连通域。
步骤312:对得到的连通域进行分段倾斜校正,根据各图像段中各第一尺度块的中心点经最小二乘法计算得到各段的倾斜角度后进行倾斜校正,根据倾斜校正后的各图像段的水平游程抹黑阈值抹黑倾斜校正后的各段抹黑图像。每3个连通域分为一段,段与段之间重叠1个连通域,如果总的连通域数目小于等于3,则只分为一段,如果总的连通域数目大于3,若不能正好分为整数段,则只取前面的整段,本实施例中共有28个连通域,分为13段。分段后用每段中的各连通域的中心点通过最小二乘法分别计算得到每一段的倾斜角度。各图像段的倾斜角度如图15中“倾斜角度”一栏所示,得到各段的倾斜角度后,各图像段根据各自的倾斜角度进行倾斜校正,倾斜校正后的各图像段如图15中“倾斜校正后的段图像”一栏所示。
计算倾斜校正后的各图像段的水平游程抹黑阈值。对某个倾斜校正后的段图像,计算各行中的所有白游程的长度并将这些白游程长度从小到大排序,从最大长度值开始,依次累加各个长度值对应的白游程的个数,当累加个数大于等于白游程总个数的五分之一时停止累加,取此时的长度值为该段图像的水平游程抹黑阈值。倾斜校正后的段图像的水平游程抹黑阈值如图15中“水平游程抹黑阈值”一栏所示。
根据倾斜校正后的各图像段的水平游程抹黑阈值抹黑倾斜校正后的各段抹黑图像。抹黑就是对于倾斜校正后的各图像段中的各行和各列像素,将其中所有白游程的像素点都置黑,倾斜校正后的段图像的抹黑结果如图15中“抹黑后的段图像”一栏所示。去掉上下凸起就是计算抹黑部分的上边缘线和下边缘线,然后将上边缘线上方的黑像素点和下边缘线下方的黑像素点置白。上边缘线和下边缘线都是直线,分别由上边缘点和下边缘点拟合得到,根据各段抹黑图像中的各列像素最上黑像素点的位置和最下黑像素点的位置及二者之间的高度进行平滑,将平滑后频率最高的高度值作为参考高度,然后将与参考高度绝对差值不超过2的所有像素列的最上黑像素点作为上边缘点,最下黑像素点作为下边缘点。抹黑段图像去掉上下凸起后的结果如图15中“去掉上下凸起后的抹黑段图像”一栏所示。
步骤313:由各段抹黑图像生成基准文字行抹黑图像。将各段抹黑图像根据其各自的倾斜角度回填到在基准文字行原位置处,这样就得到了基准文字行的初始抹黑图像,如图16所示。在初始抹黑图像中,段与段的交叠位置处可能会存在不光滑的凹陷或凸起,需要进行平滑处理。段与段之间的重叠部分的准确位置可以知道,对每个重叠区域左侧20个下边缘点和右侧20个下边缘点利用最小二乘法计算下边缘线,对每个重叠区域左侧20个上边缘点和右侧20个上边缘点利用最小二乘法计算上边缘线,上边缘点即一列中最上一个黑像素点,下边缘点即一列中最下一个黑像素点。在重叠区域内,基准文字行初始抹黑图像下边缘点与下边缘线之间的部分置黑,下边缘线下方的部分置白,上边缘点与上边缘线之间的部分置黑,上边缘线上方的部分置白。处理完后,得到基准文字行的抹黑图像,如图17所示。
步骤40:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
得到校正曲线之后,如果采用图像错切的方法对图像进行校正,则只能对校正曲线为直线的样本有较好的校正结果,对于校正曲线为非直线的情况校正效果差。采用在畸变图像中沿校正曲线的法线方向采样作为校正后图像的像素列的方法,对各种情况下的校正曲线都有好的校正结果,将抹黑后的基准文字行进行采样后拟合出校正曲线,如图18所示,包括如下步骤:。
步骤401:根据字块类型对基准文字行抹黑图像进行采样。对于字块类型为方块字的基准文字行,对基准文字行的各像素列中最上黑像素点和最下黑像素点的中点构成的连线进行等间距采样;对于字块类型为非方块字的基准文字行,对基准文字行中各像素列中最下黑像素点构成的连线进行等间距采样。
本实施例中对抹黑图像的中线进行等间距采样,中线是指各列中最上黑像素点和最下黑像素点的中点构成的线,采样间距为16,采样结果如图19中的白点所示。
步骤402:平滑采样得到的各采样点并进行二次采样,根据二次采样点拟合校正曲线。对上述等间距采样点采用5×1的窗口进行均值平滑,然后对平滑后的采样点再进行等间距的二次采样,每隔4个采样点取一个点。二次采样后得到的各采样点如图20中的白点所示。根据二次采样点计算校正曲线,采用三次样条插值拟合校正曲线。校正曲线如图21中的白色曲线所示。
在畸变图像中沿校正曲线的法线方向逐像素间隔采样,将采样结果作为校正后图像的像素列,如图22所示,对应在校正后图像中的像素列如右侧图像中的灰线所示。如图23所示,为本实施例的校正结果。
实施例之二
如图24所示,提供扫描笔获取的字块类型为非方块字的二值图像为第二实施例,图1所示为实施例的流程图,具体处理步骤如下:
步骤10,提取二值图像中的文字行。本实施例中采用了一种自底向下的文字行提取方法,具体步骤如下:
步骤101,对二值图像中的各连通域进行统计,根据得到的字符宽度和字符高度对各连通域进行合并,得到第一尺度块。在本实施例中,采用8-连通域标记,标记结果如图25所示。计算各连通域的宽度并从小到大排序,从最大宽度值开始依次累加各个宽度值对应的连通域的个数,当累加个数大于等于连通域总个数的十分之一时停止累加,取此时对应的连通域的宽度值为字符宽度;计算各连通域的高度并从小到大排序,从最大高度值开始依次累加各个高度值对应的连通域的个数,当累加个数大于等于连通域总个数的十分之一时停止累加,取此时对应的连通域的高度值为字符高度。在本实施例中,全景二值图像的字符宽度为36,字符高度为45。
合并二值图像中的各连通域得到第一尺度块,第一尺度块由符合一定条件的相包含或相交或相邻的连通域构成。对于各连通域中一个连通域包含另一个连通域的情况,如果较大连通域的宽度小于等于字符宽度的1.5倍,即54,并且较大连通域的高度小于等于字符高度的1.5倍,即67,则将两相包含的连通域进行合并。对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。对于相交的连通域,如果合并后的连通域的宽度小于等于字符宽度的1.5倍,即54,并且结果合并后的连通域的高度小于等于字符高度的1.5倍,即67,则将两相交的连通域进行合并,对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。对于左右相邻且竖直方向有交叠的连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即45,并且高度小于等于字符高度的五分之六,即54,则将两左右相邻且竖直方向有交叠的连通域进行合并,对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。对于上下相邻且水平方向有交叠的连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即71,并且高度小于等于字符高度的五分之六,即45,则将两上下相邻且水平方向有交叠的连通域进行合并,对于被合并的两个连通域不再参与后续合并,合并得到的结果连通域作为一个新连通域继续参与合并。上述合并结束后,尚未参与合并的连通域及合并的结果连通域为第一尺度块。本实施例中,经过合并后,得到的第一尺度块如图26所示。
步骤102,将大于字符高度二分之一的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块。由于本实施例中较小的第一尺度块会干扰后面的合并,则需去除较小的第一尺度块较小的第一尺度块。此处较小的第一尺度块为高度小于等于30的第一尺度块。本实施例中,去掉较小的第一尺度块后,剩余的第一尺度块如图27所示。
合并第一尺度块得到第二尺度块。第二尺度块由一个或多个满足一定条件的第一尺度块组成,构成第二尺度块的每个第一尺度块称为这个第二尺度块的子块。将所有的第一尺度块按照从左到右的顺序进行排序,计算第一尺度块间的参考水平间距,根据参考水平间距进行合并。
计算第一尺度块间的参考水平间距的具体方法为:从第一个第一尺度块开始遍历所有的第一尺度块,对于当前第一尺度块,找出位于其右侧的与其在竖直方向有交叠且水平方向距离最近的第一尺度块,将二者之间的水平方向距离作为当前第一尺度块的水平间距,水平间距用其右侧第一尺度块的左侧坐标值减去当前第一尺度块的右侧坐标值表示,取所有这些水平间距值的中值作为参考水平间距,本实施例中,计算得到的第一尺度块间的参考水平间距为4。
合并第一尺度块以得到第二尺度块的具体方法是:从第一个第一尺度块开始依次遍历所有的第一尺度块,如果当前第一尺度块已经属于某个第二尺度块,则跳过该第一尺度块,否则创建一个新的第二尺度块并将当前第一尺度块添加到该第二尺度块中,然后将满足一定条件的第一尺度块都合并到该第二尺度块中。对于一个新建的第二尺度块,以第二尺度块中的第一个子块为当前子块,搜索能够合并到该第二尺度块的第一尺度块,能够合并到该第二尺度块的第一尺度块需要满足如下条件:
1)尚未合并到任何第二尺度块;
2)位于当前子块右侧;
3)与当前子块的水平方向距离小于等于2倍的参考水平间距,即8;
4)与当前子块在竖直方向有交叠且交叠高度大于等于当前子块高度与该第一尺度块高度中较小者的三分之一。
如果不存在满足条件1)、2)、3)、4)的第一尺度块,则该第二尺度块结束合并;如果满足条件1)、2)、3)、4)的第一尺度块只有一个,则将这一个合并,合并后将新加入的第一尺度块作为当前子块继续进行搜索合并;如果满足条件1)、2)、3)、4)的第一尺度块有多个,则只取竖直方向交叠最大的一个合并,合并后将新加入的第一尺度块作为当前子块继续进行搜索合并。本实施例中,得到的第二尺度块的示意图如图28所示,其中黑框表示各第一尺度块,属于同一第二尺度块的第一尺度块用直线相连。
步骤103,将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块。第三尺度块由一个或多个满足一定条件的第二尺度块的所有子块组成,即第三尺度块也是由第一尺度块组成,它与第二尺度块的区别在于尺度大小不同。将所有的第二尺度块按照从左到右的顺序进行排序,计算第二尺度块间的第二参考水平间距后进行合并。
计算第二尺度块间的第二参考水平间距的具体方法为:从第一个第二尺度块开始,依次遍历所有的第二尺度块,对于当前第二尺度块,找出位于其右侧的、与其在竖直方向有交叠且水平方向距离最近的第二尺度块,将二者之间的水平方向距离作为当前第二尺度块的水平间距,取各第二尺度块对应的水平间距值的中值作为第二参考水平间距,其中,竖直方向有交叠为两个第二尺度块的相邻的两个子块在竖直方向存在交叠,水平方向距离为当前第二尺度块右侧的第二尺度块的左坐标值减去当前第二尺度块的右坐标值。本实施例中,各第二尺度块对应的第二参考水平间距为21。
将各第二尺度块进行合并得到第三尺度块的具体方法是:从第一个第二尺度块开始,依次遍历所有的第二尺度块,如果当前第二尺度块已经属于某个第三尺度块,则跳过该第二尺度块,否则创建一个新的第三尺度块并将当前第二尺度块的子块都添加到该第三尺度块中,然后将所有满足一定条件的第二尺度块的子块都合并到该第三尺度块中。对于一个新建的第三尺度块,以其最右侧的第一尺度块为当前子块,搜索能够合并到该第三尺度块的第二尺度块,能够合并到该第三尺度块的第二尺度块需要满足如下条件:
1)尚未合并到任何第三尺度块;
2)位于当前子块右侧;
3)与当前子块的水平方向距离小于等于2倍的第二参考水平间距,即42;
4)其最左侧子块与当前子块在竖直方向有交叠; 
如果不存在满足条件1)、2)、3)、4)的第二尺度块,则该第三尺度块结束合并;如果满足条件1)、2)、3)、4)的第二尺度块只有一个,则将其子块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧的第一尺度块作为当前子块继续进行搜索合并;如果满足条件1)、2)、3)、4)的第二尺度块有多个,则只将竖直方向交叠高度最大者的子块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧的第一尺度块作为当前子块继续进行搜索合并。本实施例中,得到的第三尺度块的示意图如图29所示,其中黑框表示每个第一尺度块,属于同一第三尺度块的第一尺度块用线段相连。
步骤104,将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。文字行由满足一定条件的第三尺度块的所有子块构成,即文字行也是由第一尺度块构成,它与第三尺度块的区别在于尺度不同。将所有的第三尺度块按照从左到右的顺序进行排序,计算含有三个及三个以上第一尺度块的第三尺度块的左右两端的延长线后进行合并。对于含有三个及三个以上第一尺度块的第三尺度块,其左端延长线由位于其最左侧的三个第一尺度块计算得到,其右端延长线由位于其最右侧的三个第一尺度块计算得到,延长线可以通过提取三个第一尺度块的中心点坐标并用最小二乘法拟合得到。
合并第三尺度块以得到文字行的具体方法是:从第一个第三尺度块开始,依次遍历所有含有三个及三个以上第一尺度块的第三尺度块,如果当前第三尺度块已经属于某个文字行,则跳过该第三尺度块,否则创建一个新的文字行并将当前第三尺度块的子块都添加到该文字行中,以当前第三尺度块的左右两端延长线作为文字行左右两端延长线,然后将所有满足一定条件的第三尺度块的第一尺度块都合并到该文字行中。对于一个新建的文字行,分别搜索位于当前文字行左右两侧的能够合并到当前文字行的第三尺度块。
对于位于当前文字行左侧的第三尺度块,合并条件如下:
 1)尚未合并到任何文字行;
2)文字行左端延长线穿过当前第三尺度块的最右侧的第一尺度块; 
如果不存在满足条件1)、2)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)的第三尺度块,则将该第三尺度块中的第一尺度块合并到该文字行中。如果该第三尺度块有左端延长线,则将其作为合并后的文字行的左端延长线,否则取合并后的文字行的最左侧的三个第一尺度块重新计算左端延长线,并以合并后的文字行继续向左进行搜索合并。
对于位于当前文字行右侧的第三尺度块,合并条件如下:
1)尚未合并到任何文字行;
2)文字行右端延长线穿过当前第三尺度块的最左侧的第一尺度块; 
如果不存在满足条件1)、2)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)的第三尺度块,则将该第三尺度块中的第一尺度块合并到该文字行中,如果该第三尺度块有右端延长线,则将其作为合并后的文字行的右端延长线,否则取合并后的文字行的最右侧的三个第一尺度块重新计算右端延长线,并以合并后的文字行继续向右进行搜索合并。本实施例中,得到的文字行的示意图如图30所示,其中黑框表示每个第一尺度块,属于同一文字行的第一尺度块用线段相连。
经过上述处理,得到二值图像中的文字行。注意,由于此处得到的文字行是为了提取完毕后进而进行校正,所以得到的文字行不必包含图像中的所有笔画。
步骤20,根据提取到的各文字行进行选取,选取基准文字行。本实施例的二值图像通过扫描笔拼接获取,所述二值图像扫描轨迹线,由参与拼接的各帧图像的中心点通过线段连接形成。对于扫描笔来说,待识别的目标文字行一般位于图像中间位置,则本实施例中选取图像中部的文字行为基准文字行。具体来说,如果二值图像中只有一行文字,则该行文字就是基准文字行;如果二值图像中有两个及两个以上的文字行,则计算各行中的每个第一尺度块的中心与二值图像扫描轨迹线的距离平均值,如果某行的距离平均值小于其他行的距离平均值5个像素点以上,则该行就是基准文字行,否则取各第一尺度块的中心与轨迹线的距离平均值最小的两文字行中的长度较长者为二值图像的基准文字行。如图31所示,为本实施例中的基准文字行,黑框表示各个第一尺度块。
步骤30,判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行。根据字符的几何结构而言将字符类型分为方块字和非方块字两类,中文、日文、韩文等字符属于方块字,英文、德文、阿拉伯文等字符属于非方块字。为了获取准确的校正曲线需对文字行进行字块类型的划分,理想中的校正曲线对应于畸变前的图像中的一条水平线,如果用于计算校正曲线的采样点来自于畸变前图像中的一条水平线上,则得到的校正曲线会更准确。对于方块字和非方块字来说,这条对齐线的位置和计算方法是不一样的,具体来说,方块字取文字行的中线或底线作为对齐线,非方块字取文字行的基线作为对齐线。
由于方块字(如中文、日文等)的特点,在方块字的抹黑图像的上下边缘不存在凸起,而在非方块字(如英文、拉丁文等)的抹黑图像的上下边缘存在凸起,则通过统计抹黑图像中上下边缘的凸起数目可以判断基准文字行中的字块类型,具体包括如下步骤:
步骤301,将基准文字行图像进行分段,并对得到的各图像段进行倾斜校正。基准文字行由第一尺度块构成,将这些第一尺度块按照从左到右的顺序排序,按第二既定数目的第一尺度块将基准文字行进行分段,各图像段之间重叠第三既定数目的第一尺度块。本实施例中,每5个第一尺度块分为一图像段,图像段之间重叠2个第一尺度块,如果总的第一尺度块数目小于等于5,则只分为一图像段,如果总的第一尺度块数目大于5,若不能正好分为整数个图像段,则最后一图像段由从最右端的第一尺度块起向左计5个第一尺度块构成。本实施例中,第一尺度块总数为65,共分为21个图像段。分段后利用每图像段中的各第一尺度块的中心点通过最小二乘法计算得到每一图像段的倾斜角度,各图像段的倾斜角度如图32中“倾斜角度”一栏所示。得到各图像段的倾斜角度后,各图像段根据各自的倾斜角度进行倾斜校正,倾斜校正后的各图像段如图32中“倾斜校正后的段图像”一栏所示。
步骤302,计算倾斜校正后得到的各图像段中的水平游程抹黑阈值。对某个倾斜校正后的段图像,计算各行中的所有白游程的长度,白游程即位于两个黑像素间的由连续白像素点构成的像素线段,将这些白游程长度从小到大排序,从最大长度值开始,依次累加各个长度值对应的白游程的个数,当累加个数大于等于白游程总数的五分之一时停止累加,取此时的长度值为该图像段的水平游程抹黑阈值。本实施例中,各图像段的水平游程抹黑阈值如图32中“水平游程抹黑阈值”一栏所示。
步骤303,根据水平游程抹黑阈值抹黑倾斜校正后的各图像段。所述游程抹黑,即将长度小于一定阈值的白游程的像素点置为黑色,分为行游程抹黑和列游程抹黑。对于倾斜校正后的各图像段中的各行,将其中长度小于该段图像水平游程抹黑阈值的3倍的白游程的像素点置黑;对于倾斜校正后的各图像段中的各列,将其中所有的白游程的像素点都置黑。本实施例中,倾斜校正后的各图像段的抹黑图像如图32中“抹黑后的段图像”一栏所示。
步骤304,统计得到的抹黑后各图像段的上下边缘的凸起数目。首先计算各抹黑后图像段的公共参考高度,方法为:计算每段图像中各列像素的黑游程长度,取所有这些长度的中值作为公共参考高度,本实施例中,公共参考高度为56。然后计算各段抹黑图像的上基线和下基线,从某段抹黑图像的最上一像素行开始依次向下,第一个含有黑像素数目超过该段抹黑图像的宽度的二分之一的像素行为上基线;从某段抹黑图像的最下一像素行开始依次向上,第一个含有黑像素数目超过该段抹黑图像的宽度的二分之一的像素行为下基线。最后统计抹黑后各图像段的上下边缘的凸起数目,上凸起为位于上基线之上的大于一定宽度和高度的黑像素块,下凸起为位于下基线之下的大于一定宽度和高度的黑像素块,宽度的阈值为4,高度的阈值为抹黑后对应的各图像段的公共参考高度的四分之一,即7。各图像段中的上下凸起的数目如图32中“上凸起数目”和“下凸起数目”两栏所示。
步骤305,根据凸起数目判断基准文字行中的字块类型。如果各段抹黑图像中的凸起数目大于等于基准文字行中各图像段数目的二分之一,则字块类型为非方块字,否则,字块类型为方块字。将各段抹黑图像中的上下凸起的数目加和,如果凸起总数大于等于各图像段数目的二分之一,则文字行中的字块类型为非方块字,否则,文字行中的字块类型为方块字。本实施例中,总的凸起数目为27,总段数为21,所以基准文字行的字块类型判断为非方块字。
本实施例中的字块类型判断为非方块字。游程抹黑对水平文字行具有良好的抹黑效果,但是对于存在几何畸变的文字行抹黑效果差。分段游程抹黑是游程抹黑的一种精细化变形,认为每一段图像中的文字处于一条直线上,首先对文字行中的几何畸变图像进行分段,再通过倾斜校正将每一段图像中的文字校正到一条水平直线上,然后对校正后的每一段图像进行游程抹黑,最后利用抹黑后各图像段生成整个文字行的抹黑图像。根据字块类型分段抹黑基准文字行时,具体包括如下步骤:
步骤311:根据字块类型合并基准文字行的连通域。基准文字行由第一尺度块构成,第一尺度块由连通域构成,故基准文字行由连通域构成,根据字块类型对这些连通域重新进行合并。如果字块类型为方块字,将水平方向上具有小于等于字符宽度的四分之一的交叠,且合并后的宽度小于等于字符宽度的五分之六的两相邻连通域进行合并,直至所有连通域合并完毕;如果字块类型为非方块字,去掉宽度和高度均小于字符高度的三分之一的连通域,且合并后的宽度小于等于字符宽度的五分之六的两相邻连通域进行合并,直至所有连通域合并完毕。本实施例中,将所有的连通域从左到右进行排序,然后去掉宽度和高度均小于字符高度的三分之一,即15的连通域,并满足条件:
1)两个连通域左右相交;
2)两个连通域合并后的宽度小于等于字符宽度的五分之六,即43的连通域进行合并,合并后的结果连通域作为一个新连通域继续参与合并,直到任何两个连通域都不能再合并为止。合并后的连通域如图33所示。
步骤311后还包括对于字块类型为方块字的文字行,去掉高度小于高度中值的五分之四的连通域;对于字块类型为非方块字的文字行,去掉高度小于高度中值的五分之四和高度大于高度中值的七分之八的连通域。本实施例中,先计算得到所有连通域的高度的中值31,然后去掉高度小于高度中值的五分之四25或者高度大于高度中值的七分之八35的连通域,剩余的连通域如图34所示。
步骤312:对得到的连通域进行分段倾斜校正,根据各图像段中各第一尺度块的中心点经最小二乘法计算得到各段的倾斜角度后进行倾斜校正,根据倾斜校正后的各图像段的水平游程抹黑阈值抹黑倾斜校正后的各段抹黑图像。每3个连通域分为一段,段与段之间重叠1个连通域,如果总的连通域数目小于等于3,则只分为一段,如果总的连通域数目大于3,若不能正好分为整数段,则只取前面的整段,本实施例中共有64个连通域,分为25段。分段后用每段中的各连通域的中心点通过最小二乘法分别计算得到每一段的倾斜角度。各图像段的倾斜角度如图35中“倾斜角度”一栏所示,得到各段的倾斜角度后,各图像段根据各自的倾斜角度进行倾斜校正,倾斜校正后的各图像段如图35中“倾斜校正后的段图像”一栏所示。
计算倾斜校正后的各图像段的水平游程抹黑阈值。对某个倾斜校正后的段图像,计算各行中的所有白游程的长度并将这些白游程长度从小到大排序,从最大长度值开始,依次累加各个长度值对应的白游程的个数,当累加个数大于等于白游程总个数的五分之一时停止累加,取此时的长度值为该段图像的水平游程抹黑阈值。倾斜校正后的段图像的水平游程抹黑阈值如图35中“水平游程抹黑阈值”一栏所示。
根据字块类型抹黑倾斜校正后的各图像段并去掉上下凸起。对于倾斜校正后的各图像段,各行像素中长度小于等于该段图像的水平游程抹黑阈值2倍的所有白游程置黑,各列像素中所有白游程都置黑,称为第一次游程抹黑,结果如图35中“第一次抹黑后的段图像”一栏所示;然后计算抹黑部分的上边缘线和下边缘线,将上边缘线上方的黑像素点和下边缘线下方的黑像素点置白,结果如图35中“平滑后的第一次抹黑段图像”一栏所示;接下来再将各图像段中的长度小于等于该段图像的宽度的二分之一的所有白游程置黑,称为第二次游程抹黑,结果如图35中“第二次抹黑后的段图像”一栏所示;再次计算抹黑部分的上边缘线和下边缘线,并将上边缘线上方的黑像素点和下边缘线下方的黑像素点置白,结果如图35中“平滑后的第二次抹黑段图像”一栏所示。上边缘线和下边缘线都是直线,分别由上边缘点和下边缘点拟合得到,上边缘点和下边缘点通过如下计算得到:对段抹黑图像中的各列计算最上黑像素点的位置和最下黑像素点的位置及二者之间的高度,对这些高度值做平滑后取其中出现频率最高的高度值作为参考高度,然后找出高度与参考高度绝对差值不超过2的所有像素列的最上黑像素点作为上边缘点,最下黑像素点构成下边缘点。
步骤313:由各段抹黑图像生成基准文字行抹黑图像。将各段抹黑图像根据其各自的倾斜角度回填到在基准文字行原位置处,这样就得到了基准文字行的初始抹黑图像,如图36所示。在初始抹黑图像中,段与段的交叠位置处可能会存在不光滑的凹陷或凸起,需要进行平滑处理。段与段之间的重叠部分的准确位置可以知道,对每个重叠区域左侧20个下边缘点和右侧20个下边缘点利用最小二乘法计算下边缘线,对每个重叠区域左侧20个上边缘点和右侧20个上边缘点利用最小二乘法计算上边缘线,上边缘点即一列中最上一个黑像素点,下边缘点即一列中最下一个黑像素点。在重叠区域内,基准文字行初始抹黑图像下边缘点与下边缘线之间的部分置黑,下边缘线下方的部分置白,上边缘点与上边缘线之间的部分置黑,上边缘线上方的部分置白。处理完后,得到基准文字行的抹黑图像,如图37所示。
步骤40:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
得到校正曲线之后,如果采用图像错切的方法对图像进行校正,则只能对校正曲线为直线的样本有较好的校正结果,对于校正曲线为非直线的情况校正效果差。采用在畸变图像中沿校正曲线的法线方向采样作为校正后图像的像素列的方法,对各种情况下的校正曲线都有好的校正结果,将抹黑后的基准文字行进行采样后拟合出校正曲线包括如下步骤:。
步骤401:根据字块类型对基准文字行抹黑图像进行采样。对于字块类型为方块字的基准文字行,对基准文字行的各像素列中最上黑像素点和最下黑像素点的中点构成的连线进行等间距采样;对于字块类型为非方块字的基准文字行,对基准文字行中各像素列中最下黑像素点构成的连线进行等间距采样。
本实施例中对抹黑图像的中线进行等间距采样,中线是指各列中最上黑像素点和最下黑像素点的中点构成的线,采样间距为16,采样结果如图38中的白点所示,为了显示明显,将图像的背景区域用灰色显示。
步骤402:平滑采样得到的各采样点并进行二次采样,根据二次采样点拟合校正曲线。对上述等间距采样点采用5×1的窗口进行均值平滑,然后对平滑后的采样点再进行等间距的二次采样,每隔4个采样点取一个点。二次采样后的采样点如图39中的白点所示,为了显示明显,将图像的背景区域用灰色显示。根据二次采样点计算校正曲线,采用三次样条插值拟合校正曲线,本实施例中校正曲线如图40中的白色曲线所示,为了显示明显,将图像的白色区域用灰色显示。
在畸变图像中沿校正曲线的法线方向逐像素间隔采样,将采样结果作为校正后图像的像素列,如图41所示,为实施例之二的校正结果。
本发明还公开了一种文字行几何畸变校正装置,包括如下模块:
提取模块:对二值图像中的各文字行进行提取;
选取模块:根据提取到的各文字行进行选取,选取基准文字行;
抹黑模块:判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行;
校正模块:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
本发明不仅适用于各行文字具有相同畸变的文字段的校正,也适用于各行文字具有不同畸变的文字段的校正。对于各行文字具有相同畸变的文字段的校正,只需找出其中一行作为校正基准行,在得到该行的校正曲线后,将其用于整段文字的校正即可。对于各行文字具有不同畸变的文字段的校正,逐行计算校正曲线进行校正即可。

Claims (21)

1.一种文字行几何畸变校正方法,其特征在于,包括如下步骤:
步骤一:对二值图像中的各文字行进行提取;
步骤二:根据提取到的各文字行进行选取,选取基准文字行;
步骤三:判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行;其中,所述字块类型根据文字的几何结构分为方块字和非方块字,所述根据字块类型分段抹黑基准文字行包括:
步骤311:根据字块类型合并基准文字行的连通域;
步骤312:对得到的连通域进行分段倾斜校正,根据倾斜校正后的各图像段的水平游程抹黑阈值抹黑倾斜校正后的各段抹黑图像;
步骤313:由各段抹黑图像生成基准文字行抹黑图像;
步骤四:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
2.根据权利要求1所述的方法,其特征在于:所述步骤一中对二值图像中的各文字行进行提取,包括如下步骤:
步骤101:对二值图像中的各连通域进行统计,根据得到的字符宽度和字符高度对各连通域进行合并,得到第一尺度块;
步骤102:将大于字符高度二分之一的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块;
步骤103:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块;
步骤104:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。
3.根据权利要求1所述的方法,其特征在于:所述步骤三中判断基准文字行中的字块类型,包括如下步骤:
步骤301:将基准文字行图像进行分段,并对得到的各图像段进行倾斜校正;
步骤302:计算倾斜校正后得到的各图像段中的水平游程抹黑阈值;
步骤303:根据水平游程抹黑阈值抹黑倾斜校正后的各图像段;
步骤304:统计抹黑后各图像段的上下边缘的凸起数目;
步骤305:根据凸起数目判断基准文字行中的字块类型。
4.根据权利要求3所述的方法,其特征在于:所述步骤301中将基准文字行图像进行分段时,按第二既定数目的第一尺度块将基准文字行进行分段,各图像段之间重叠第三既定数目的第一尺度块。
5.根据权利要求3所述的方法,其特征在于:所述步骤301中对得到的各图像段进行倾斜校正时,根据各图像段中各第一尺度块的中心点经最小二乘法计算得到各段的倾斜角度后进行倾斜校正。
6.根据权利要求3所述的方法,其特征在于:所述步骤302中计算倾斜校正后得到的各图像段中的水平游程抹黑阈值时,将各图像段中的白游程长度分别从小到大排序,依次累加各个长度值对应的白游程的个数,取大于等于白游程总数的五分之一时的长度值为水平游程抹黑阈值。
7.根据权利要求3所述的方法,其特征在于:所述步骤303中抹黑倾斜校正后的各图像段时,将各图像段的像素行中长度小于对应的水平游程抹黑阈值3倍的白游程的像素点置黑;将各图像段的像素列中所有的白游程的像素点置黑。
8.根据权利要求3所述的方法,其特征在于:所述步骤304中统计抹黑后各图像段的上下边缘的凸起数目时,计算抹黑后各图像段的上基线和下基线,将上基线之上和下基线之下分别大于高度阈值和宽度阈值的黑像素块进行统计。
9.根据权利要求8所述的方法,其特征在于:所述高度阈值为抹黑后对应的各图像段的公共参考高度的四分之一。
10.根据权利要求9所述的方法,其特征在于:所述公共参考高度为每段图像中各列像素的黑游程长度的中值。
11.根据权利要求3所述的方法,其特征在于:所述步骤305中判断基准文字行中的字块类型时,如果各段抹黑图像中的凸起数目大于等于基准文字行中各图像段数目的二分之一,则字块类型为非方块字,否则,字块类型为方块字。
12.根据权利要求1所述的方法,其特征在于:所述步骤311中合并基准文字行的连通域时,如果字块类型为方块字,将水平方向上具有小于等于字符宽度的四分之一的交叠,且合并后的宽度小于等于字符宽度的五分之六的两相邻连通域进行合并,直至所有连通域合并完毕;如果字块类型为非方块字,去掉宽度和高度均小于字符高度的三分之一的连通域,且合并后的宽度小于等于字符宽度的五分之六的两相邻连通域进行合并,直至所有连通域合并完毕。
13.根据权利要求1所述的方法,其特征在于:所述步骤311后还包括对于字块类型为方块字的文字行,去掉高度小于高度中值的五分之四的连通域;对于字块类型为非方块字的文字行,去掉高度小于高度中值的五分之四和高度大于高度中值的七分之八的连通域。
14.根据权利要求1所述的方法,其特征在于:所述步骤312中对得到的连通域进行分段倾斜校正时,根据各图像段中各第一尺度块的中心点经最小二乘法计算得到各段的倾斜角度后进行倾斜校正。
15.根据权利要求1所述的方法,其特征在于:所述步骤312中根据倾斜校正后的各图像段的水平游程抹黑阈值抹黑倾斜校正后的各段抹黑图像时,计算抹黑部分的上边缘线和下边缘线,然后将上边缘线上方的黑像素点和下边缘线下方的黑像素点置白。
16.根据权利要求15所述的方法,其特征在于:所述上边缘线和下边缘线分别由上边缘点和下边缘点拟合得到,根据各段抹黑图像中的各列像素最上黑像素点的位置和最下黑像素点的位置及二者之间的高度进行平滑,将平滑后频率最高的高度值作为参考高度,然后将与参考高度绝对差值不超过2的所有像素列的最上黑像素点作为上边缘点,最下黑像素点作为下边缘点。
17.根据权利要求16所述的方法,其特征在于:所述步骤313中由各段抹黑图像生成基准文字行抹黑图像时,在重叠区域内,基准文字行初始抹黑图像下边缘点与下边缘线之间的部分置黑,下边缘线下方的部分置白;上边缘点与上边缘线之间的部分置黑,上边缘线上方的部分置白。
18.根据权利要求1所述的方法,其特征在于:所述步骤四中将抹黑后的基准文字行进行采样后拟合出校正曲线时,包括如下步骤:
步骤401:根据字块类型对抹黑图像后的基准文字行进行采样;
步骤402:平滑采样得到的各采样点并进行二次采样,根据二次采样点拟合校正曲线。
19.根据权利要求18所述的方法,其特征在于:所述步骤401中根据字块类型对抹黑图像后的基准文字行进行采样时,对于字块类型为方块字的基准文字行,对基准文字行的各像素列中最上黑像素点和最下黑像素点的中点构成的连线进行等间距采样;对于字块类型为非方块字的基准文字行,对基准文字行中各像素列中最下黑像素点构成的连线进行等间距采样。
20.根据权利要求1所述的方法,其特征在于:所述步骤四中根据校正曲线校正二值图像时,沿校正曲线的法线方向逐像素间隔采样,将采样结果作为校正后图像的像素列。
21.一种文字行几何畸变校正装置,其特征在于,包括如下模块:
提取模块:对二值图像中的各文字行进行提取;
选取模块:根据提取到的各文字行进行选取,选取基准文字行;
抹黑模块:判断基准文字行中的字块类型,根据字块类型分段抹黑基准文字行;其中,所述字块类型根据文字的几何结构分为方块字和非方块字,所述根据字块类型分段抹黑基准文字行包括:
步骤311:根据字块类型合并基准文字行的连通域;
步骤312:对得到的连通域进行分段倾斜校正,根据倾斜校正后的各图像段的水平游程抹黑阈值抹黑倾斜校正后的各段抹黑图像;
步骤313:由各段抹黑图像生成基准文字行抹黑图像;
校正模块:将抹黑后的基准文字行进行采样后拟合出校正曲线,并根据校正曲线校正二值图像。
CN 201010568404 2010-11-30 2010-11-30 文字行几何畸变校正方法和装置 Active CN102063621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010568404 CN102063621B (zh) 2010-11-30 2010-11-30 文字行几何畸变校正方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010568404 CN102063621B (zh) 2010-11-30 2010-11-30 文字行几何畸变校正方法和装置

Publications (2)

Publication Number Publication Date
CN102063621A CN102063621A (zh) 2011-05-18
CN102063621B true CN102063621B (zh) 2013-01-09

Family

ID=43998890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010568404 Active CN102063621B (zh) 2010-11-30 2010-11-30 文字行几何畸变校正方法和装置

Country Status (1)

Country Link
CN (1) CN102063621B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095251B (zh) * 2014-05-06 2019-12-20 中兴通讯股份有限公司 一种基于用户习惯的终端自动展示方法及装置
CN104867152B (zh) * 2015-05-26 2017-11-07 海南云江科技有限公司 自适应文本图像的分割方法
CN105574526A (zh) * 2015-12-10 2016-05-11 广东小天才科技有限公司 一种实现逐行扫描的方法及系统
CN106204420B (zh) * 2016-06-29 2019-01-29 深圳市优象计算技术有限公司 一种笔式图像扫描拼接方法与装置
CN106778766B (zh) * 2016-11-18 2020-05-22 武汉工程大学 一种基于定位点的旋转数字识别方法及系统
CN107679533A (zh) * 2017-09-27 2018-02-09 北京小米移动软件有限公司 文字识别方法及装置
CN110211048B (zh) * 2019-05-28 2020-06-16 国家电网有限公司 一种基于卷积神经网络的复杂档案图像倾斜矫正方法
CN113378666A (zh) * 2021-05-28 2021-09-10 山东大学 一种票据图像倾斜校正方法、票据识别方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741035A (zh) * 2005-09-23 2006-03-01 清华大学 印刷体阿拉伯字符集文本切分方法
CN1804861A (zh) * 2005-12-29 2006-07-19 北大方正集团有限公司 一种文稿图像几何畸变的校正方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102084378B (zh) * 2008-05-06 2014-08-27 计算机连接管理中心公司 基于照相机的文档成像

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741035A (zh) * 2005-09-23 2006-03-01 清华大学 印刷体阿拉伯字符集文本切分方法
CN1804861A (zh) * 2005-12-29 2006-07-19 北大方正集团有限公司 一种文稿图像几何畸变的校正方法

Also Published As

Publication number Publication date
CN102063621A (zh) 2011-05-18

Similar Documents

Publication Publication Date Title
CN102063621B (zh) 文字行几何畸变校正方法和装置
CN102063619B (zh) 文字行提取方法和装置
CN100464346C (zh) 一种表格图像几何畸变的数字校正方法
US20080232715A1 (en) Image processing apparatus
CN106384113A (zh) 基于投影和模板匹配的单双行车牌字符分割方法
EP0843275A2 (en) Pattern extraction apparatus and method for extracting patterns
CN107944451B (zh) 一种藏文古籍文档的行切分方法及系统
CN109886978B (zh) 一种基于深度学习的端到端告警信息识别方法
CN102870399A (zh) 在ocr过程中将词语位图分割为单个字符或字形
Koppula et al. Fringe map based text line segmentation of printed Telugu document images
US20130287300A1 (en) Defining a layout of text lines of cjk and non-cjk characters
CN102184396A (zh) 基于ocr识别反馈的文档图像倾斜校正方法
CN111275049B (zh) 一种文字图像骨架特征描述符获取的方法及装置
US8989485B2 (en) Detecting a junction in a text line of CJK characters
CN112308063B (zh) 文字识别装置、翻译笔、图像翻译方法及图像翻译装置
CN100363940C (zh) 一种文稿图像几何畸变的校正方法
US20120269438A1 (en) Image processing apparatus
CN104021385B (zh) 基于模板匹配及曲线拟合的视频字幕细化方法
CN100489885C (zh) 图像识别方法及实现该方法的设备
CN105373790B (zh) 版面分析方法和装置
CN102073862A (zh) 一种快速的文档图像版面结构计算方法
CN110991440B (zh) 一种像素驱动的手机操作界面文本检测方法
JP2006155126A (ja) 車両番号認識装置
CN114241490A (zh) 基于笔画扰动与后处理的手写体识别模型性能的提升方法
JP5271956B2 (ja) 原稿方向の検出方法及び装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant