CN102063619B - 文字行提取方法和装置 - Google Patents
文字行提取方法和装置 Download PDFInfo
- Publication number
- CN102063619B CN102063619B CN 201010568411 CN201010568411A CN102063619B CN 102063619 B CN102063619 B CN 102063619B CN 201010568411 CN201010568411 CN 201010568411 CN 201010568411 A CN201010568411 A CN 201010568411A CN 102063619 B CN102063619 B CN 102063619B
- Authority
- CN
- China
- Prior art keywords
- yardstick
- yardstick piece
- piece
- character
- height
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文字行提取方法和装置,属于光学字符识别领域。包括:对全景二值图像的各连通域统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域合并;将得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块合并;将得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块合并;将得到的第三尺度块排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。本发明分别对应字符、单词和词段进行多尺度合并,再以得到的文字行为基础自顶向下将被排除的尺度块添加回文字行中,减少了不完整字符对文字行提取的干扰,保证了得到的文字行的有效性和准确性。
Description
技术领域
本发明属于光学字符识别领域,特别涉及一种文字行提取方法和装置。
背景技术
电子扫描笔(简称扫描笔)是OCR的重要应用之一。扫描笔的技术原理为:首先,光学摄像头按照一定频率对被扫描资料进行连续拍照,获取被扫资料的图像序列,然后将图像序列拼接成一幅全景二值图像,最后在得到的全景图像中提取待识别文字行并进行OCR识别。
文字行提取有多种方法,大体分为自顶向下、自底向上以及自顶向下自底向上两者相结合三种,但这些方法多是针对印刷体文档或者手写文本的,对于扫描笔获取的全景二值图像处理效果不好。这是因为扫描笔获取的全景二值图像具有其自身的不同于印刷体文档及手写文本的特点:(1)图像内的文字行很少,图像内的字符存在不完整的情况,故得到的图像不利于信息统计,使部分自底向上的方法失效;(2)图像的文字行形状多变,有可能是倾斜的,甚至是弯曲的,使部分自顶向下的方法失效。为此,需要一种专门针对扫描笔获取的全景二值图像的文字行提取方法。
发明内容
本发明所要解决的问题为提供一种文字行提取方法和装置,利用全景二值图像的特点去除图像中的不完整字符,有效减小了不完整字符对合并的干扰,然后采用一种自底向上和自顶向下相结合的方法实现文字行提取。
本方法公开了一种文字行提取方法,包括如下步骤:
步骤一:对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块;
步骤二:将得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块;
步骤三:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块;
步骤四:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。
所述步骤一之前还包括:
步骤a:标记全景二值图像中的连通域,统计各连通域的高度得到全景二值图像中的平均字符高;
步骤b:去除全景二值图像边缘处高度小于平均字符高既定比例的连通域。
所述步骤一中对全景二值图像中的各连通域进行统计时,按各连通域的宽度值统计对应的连通域个数,按宽度值从大到小的顺序将其对应的连通域个数加和,取加和大于等于连通域总数的五分之一时对应的宽度值作为字符宽度。
所述步骤一中对全景二值图像中的各连通域进行统计时,按各连通域的高度值统计对应的连通域个数,按高度值从大到小的顺序将其对应的连通域个数加和,取加和值大于等于连通域总数的五分之一时对应的高度值作为字符高度。
所述步骤一之后还包括:去除小于字符高度二分之一的第一尺度块。
所述步骤二的参考水平间距为两相邻的第一尺度块间的水平间距的中值。
所述步骤二中将各第一尺度块进行合并得到第二尺度块时,依次遍历各第一尺度块,将未经合并的当前第一尺度块作为第二尺度块,并将满足既定条件的未经合并的第一尺度块合并到所述第二尺度块。
所述既定条件为第二尺度块与相邻的第一尺度块在竖直方向有交叠,且交叠高度大于等于两者中高度较小者的三分之一,且第二尺度块与相邻的第一尺度块的水平间距小于等于2倍参考水平间距且大于等于负的字符宽度的三分之一。
所述步骤三的第二参考水平间距为两相邻的第二尺度块间的小于2倍字符宽度的水平间距的中值。
所述步骤三中将各第二尺度块进行合并得到第三尺度块时,依次遍历各第二尺度块,将未经合并的当前第二尺度块作为第三尺度块,并将满足第二既定条件的未经合并的第二尺度块合并到所述第三尺度块。
所述第二既定条件为第三尺度块与相邻的第二尺度块在竖直方向有既定高度的交叠;且第三尺度块与相邻的第二尺度块的水平间距大于零、小于等于2倍第二参考水平间距。
所述步骤三还包括对得到的第三尺度块进行验证,如果与当前第二尺度块相邻的、与合并方向相反的第二尺度块和当前第二尺度块在竖直方向有高度大于既定高度的交叠,且两相邻的第二尺度块的水平间距不大于2倍水平间距,则当前第二尺度块不能合并至第三尺度块中,当前第三尺度块结束合并。
所述步骤四中的延长线分别由位于第三尺度块中最左侧既定数目的第一尺度块和最右侧的既定数目的第一尺度块生成,通过提取各第一尺度块的中心点坐标用最小二乘法拟合得到。
所述步骤四中的既定数目为三个及三个以上。
所述步骤四中将第三尺度块根据延长线合并为文字行包括:依次遍历含有既定数目的第一尺度块的各第三尺度块,将未经合并的当前第三尺度块作为文字行,把满足第三既定条件的未经合并的第三尺度块合并到所述文字行。
所述第三既定条件为文字行的延长线穿过当前第三尺度块中与文字行距离最近的第一尺度块,且当前第三尺度块与文字行的水平间距小于4倍字符宽度。
所述步骤四之后还包括:将小于字符高度二分之一的第一尺度块添加至文字行。
所述小于字符高度二分之一的第一尺度块添加至文字行时,将文字行中连接相邻的第一尺度块的中心点的线段分别向上和向下平移二分之一的字符高度,所得线段之间的区域作为有效区域,在有效区域内的第一尺度块添加至文字行。
本发明还公开了一种文字行提取装置,包括如下模块:
统计模块:对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块;
第一合并模块:将得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块;
第二合并模块:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块;
第三合并模块:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。
本发明文字行提取方法和装置,充分利用了全景二值图像的特点,分别对应字符、单词和词段的概念进行多尺度合并,再以得到的文字行为基础自顶向下将被排除的尺度块添加回文字行中,以得到完整的文字行。本方法减少了不完整字符对文字行提取的干扰,保证了得到的文字行的有效性和准确性;采用自底向上和自顶向下相结合的方法处理文字行倾斜或弯曲的情况,保证了得到的文字行的完整性。
附图说明
图1为本发明文字行提取方法的一个实施例的流程图。
图2为本发明文字行提取方法中的步骤105的一个实施例流程图。
图3为本发明实施例之一的全景二值图像。
图4为本发明实施例之一的步骤101的连通域标记结果示意图。
图5为本发明实施例之一的全景二值图像的上下边缘示意图。
图6为本发明实施例之一的步骤103的去掉贴边的小连通域后的剩余连通域的示意图。
图7为本发明实施例之一的步骤104的合并连通域得到的第一尺度块的示意图。
图8为本发明实施例之一的步骤105的去掉较小第一尺度块后的剩余第一尺度块的示意图。
图9为本发明实施例之一的步骤106的合并第一尺度块得到的第二尺度块的示意图。
图10为本发明实施例之一的步骤107的合并第二尺度块得到的第三尺度块的示意图。
图11为本发明实施例之一的步骤107中的一种合并终止情况的示意图。
图12为本发明实施例之一的步骤107中的一种合并终止情况的示意图。
图13为本发明实施例之一的步骤108的合并第三尺度块得到的文字行的示意图。
图14为本发明实施例之一的步骤109的将去掉的第一尺度块添加到文字行后的文字行示意图。
图15为本发明实施例之二的全景二值图像。
图16为本发明实施例之二的步骤101的连通域标记结果示意图。
图17为本发明实施例之二的全景二值图像的上下边缘示意图。
图18为本发明实施例之二的步骤103的去掉贴边的小连通域后的剩余连通域的示意图。
图19为本发明实施例之二的步骤104的合并连通域得到的第一尺度块的示意图。
图20为本发明实施例之二的步骤105的去掉较小第一尺度块后的剩余第一尺度块的示意图。
图21为本发明实施例之二的步骤106的合并第一尺度块得到的第二尺度块的示意图。
图22为本发明实施例之二的步骤107的合并第二尺度块得到的第三尺度块的示意图。
图23为本发明实施例之二的步骤108的合并第三尺度块得到的文字行的示意图。
图24为本发明实施例之二的步骤109的将去掉的第一尺度块添加到文字行后的文字行示意图。
具体实施方式
为了能更清楚地理解本发明的技术内容,下面结合附图对本发明作进一步详细的描述。同时,以下文中所对照的附图,意在表达与本发明特征有关的结构的含义。
本发明公开了文字行提取方法和装置,针对扫描笔获取的全景二值图像的特点,有效提取其中的文字行,本发明采用自底向上和自顶向下相结合的方法对全景二值图像进行处理。
在自底向上的合并过程中,根据不同的合并规则采用四级尺度进行合并,尺度的划分来自于对文字行几何结构的组成特征的观察,在全景二值图像中得到的连通域只是对字符的分立笔画的描述,既是要把这些连通域合并为“字符”,由于只是通过几何关系进行合并,合并的结果不一定对应一个完整的字符,比如还有可能将两个字符的部分笔画合并在一起等情况,所以得到的结果称为第一尺度块,可以简单的说,第一尺度块的概念对应于“字符”,由“字符”组成“单词”。依次论推,第二尺度块的概念对应于“单词”,由“单词”组成“词段”;第三尺度块的概念对应于“词段”,由“词段”组成文字行。当然这种划分并不十分严格,比如“单词”和“词段”在某些情况下可能界线并不分明,但是这并不影响这种划分的一般意义。本发明依次将连通域合并为第一尺度块、第一尺度块合并为第二尺度块、第二尺度块合并为第三尺度块、第三尺度块合并为文字行。
由于全景二值图像中包含不完整字符,这些不完整字符多为较小的第一尺度块,如果不预先排除的话,会干扰后续的合并,但是,这种排除也有可能将较小的完整字符所对应的第一尺度块去掉,所以在通过自底向上方法得到文字行后,再以得到的文字行为指导,自顶向下的将被排除的第一尺度块再添加回文字行中,以得到完整的文字行。
在本发明中,所述坐标系是指笛卡尔坐标系,以图像的左上点为坐标原点。
本发明公开了一种文字行提取方法,提供扫描笔获取的如图3所示的中文全景二值图像为例,图1所示为实施例的流程图,具体处理步骤如下:
步骤0:对全景二值图像进行预处理。
A)标记全景二值图像中的连通域,统计各连通域的高度得到全景二值图像中的平均字符高。如图4所示,标记全景二值图像中的8连通域,计算各连通域的高度并从小到大排序,从最大高度值开始,依次累加各个高度值对应的连通域的个数,当累加个数大于等于连通域总个数的十分之一时停止累加,取此时的高度值为平均字符高。本实施例中,平均字符高为70。
B)去除全景二值图像边缘处高度小于平均字符高既定比例的连通域。
由于扫描笔在获取图像时,有明确的目的性,即待识别文字行中的字符会尽量扫描完整且尽量位于图像的中间部分,这就意味着待识别文字行中的字符一般不会贴边,贴边的概念如下:全景二值图像由图像帧序列拼接而成,在拼接过程中,可以准确获取每帧图像在全景二值图像中的位置,这样就可以获取全景二值图像中由帧图像数据构成的部分的区域,这个区域的上边缘线称为全景二值图像的上边缘线,这个区域的下边缘线称为全景二值图像的下边缘线,如果某个连通域的像素位于上边缘线或下边缘线上,则称之为贴边类型的连通域。贴边类型的连通域一般为不完整字符,如果字符过于不完整,则该字符无法识别,故需要去除这些不完整的字符以避免对后续的合并和识别过程产生干扰。在本实施例中,全景二值图像的上下边缘线如图5中的灰线所示,去除高度小于字符高度的二分之一(即35)的贴边类型的连通域后剩余的连通域如图6所示。
步骤1:对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块。
统计字符宽度和字符高度,去掉较小的贴边连通域后,统计得到的结果更加接近于真实值。计算各连通域的宽度并从小到大排序,从最大宽度值开始,依次累加各个宽度值对应的连通域的个数,按宽度值从大到小的顺序将其对应的连通域个数加和,取加和大于等于连通域总数的五分之一时对应的宽度值作为字符宽度。同理,计算各连通域的高度并从小到大排序,从最大高度值开始,依次累加各个高度值对应的连通域的个数,按高度值从大到小的顺序将其对应的连通域个数加和,取加和值大于等于连通域总数的五分之一时对应的高度值作为字符高度。本实施例中,此步骤得到的字符宽度为74,字符高度为73。
根据字符宽度和字符高度对各连通域进行合并,合并各连通域得到第一尺度块。第一尺度块的概念对应于“字符”,第一尺度块由符合一定条件的相包含或相交或相邻的连通域构成,具体流程如图2所示,包括如下处理过程:
合并相包含的连通域。对于各连通域中一个连通域包含另一个连通域的情况,如果较大的连通域的宽度小于等于字符宽度的1.5倍,即111,并且较大的连通域的高度小于等于字符高度的1.5倍,即110,则将两相包含的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有相包含的连通域合并结束。
合并相交的连通域。对于相交的两个连通域,如果合并后的连通域的宽度小于等于字符宽度的1.5倍,即111,并且如果合并后的连通域的高度小于等于字符高度的1.5倍,即110,则将两相交的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有相交的连通域合并结束。
合并左右相邻且竖直方向有交叠的连通域。对于左右相邻且竖直方向有交叠的两个连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即92,并且高度小于等于字符高度的五分之六,即87,则将两左右相邻且竖直方向有交叠的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有左右相邻且竖直方向有交叠的连通域合并结束。
合并上下相邻且水平方向有交叠的连通域。对于上下相邻且水平方向有交叠的两个连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即92,并且高度小于等于字符高度的五分之六,即87,则将两上下相邻且水平方向有交叠的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有上下相邻且水平方向有交叠的连通域合并结束。
经过上述步骤的合并后,将未发生合并的连通域及合并所得的连通域作为第一尺度块。本实施例中,得到的第一尺度块如图7中的灰色方框所示。
步骤12:去除小于字符高度二分之一的第一尺度块。
由于较小的第一尺度块会干扰后面的合并,所以要先去除这些高度小于字符高度的二分之一,即36,的第一尺度块。剩余的第一尺度块如图8中的灰色方框所示。
步骤2:将得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块。
将各第一尺度块进行合并得到第二尺度块时,依次遍历各第一尺度块,将未经合并的当前第一尺度块作为第二尺度块,并将满足既定条件的未经合并的第一尺度块合并到所述第二尺度块。第二尺度块的概念对应于“单词”,由一个或多个满足一定条件的第一尺度块组成,构成第二尺度块的每个第一尺度块作为第二尺度块的子块。将所有的第一尺度块按照从左到右的顺序进行排序,计算第一尺度块间的水平间距后进行合并。
本实施例中,从左至右将第一尺度块进行合并。计算第一尺度块间的参考水平间距的具体方法为:从第一个第一尺度块开始,遍历所有的第一尺度块,对于当前第一尺度块,找出位于其右侧与其在竖直方向有交叠且水平方向距离最近的第一尺度块,用其左坐标值减去当前第一尺度块的右坐标值的长度作为水平间距,取所有这些水平间距值的中值作为第一尺度块间的参考水平间距。本实施例中,所得的第一尺度块的参考水平间距为4。
将各第一尺度块合并以得到第二尺度块的具体方法是:从第一个第一尺度块开始,依次遍历所有的第一尺度块,如果当前第一尺度块已经属于某个第二尺度块,则跳过该第一尺度块,否则创建一个新的第二尺度块并将当前第一尺度块合并至该第二尺度块中。对于一个新建的第二尺度块,以第一个子块为当前子块,搜索能够合并到该第二尺度块的第一尺度块,能够合并到该第二尺度块的各第一尺度块需满足如下既定条件:
1)尚未合并到任何第二尺度块;
2)位于当前子块右侧;
3)与相邻的第二尺度块的水平间距小于等于2倍的参考水平间距,即8,并且大于等于负的字符宽度的三分之一,即-24;
4)与当前子块在竖直方向有交叠,且交叠高度大于等于两者中高度较小者的三分之一。
如果不存在满足条件1)、2)、3)、4)的第一尺度块,则该第二尺度块结束合并;如果满足条件1)、2)、3)、4)的第一尺度块只有一个,则将这一个合并,合并后将新加入的第一尺度块作为当前子块继续进行搜索合并;如果满足条件1)、2)、3)、4)的第一尺度块有多个,则只取竖直方向交叠最大的一个合并,合并后的第一尺度块作为当前子块继续进行搜索合并。本实施例中,得到的第二尺度块如图9所示,其中单个灰色方框或者用线段连接在一起的灰色方框表示一个第二尺度块,灰色方框表示构成第二尺度块的第一尺度块。
步骤3:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块。
将各第二尺度块进行合并得到第三尺度块时,依次遍历各第二尺度块,将未经合并的当前第二尺度块作为第三尺度块,并将满足第二既定条件的未经合并的第二尺度块合并到所述第三尺度块。第三尺度块的概念对应于“词段”,“词段”是指文字行中被标点符号或去掉的第一尺度块等间隔开来的字符内容,第三尺度块由一个或多个满足一定条件的第二尺度块的所有子块——第一尺度块组成,即第三尺度块也是由第一尺度块组成。将所有的第二尺度块按照从左到右的顺序进行排序,计算第二尺度块间的第二参考水平间距后进行合并,由于第二尺度块包括多个第一尺度块,则合并后得到多个由第一尺度块组成的第三尺度块。
本实施例中,从左至右将第二尺度块进行合并。计算第二尺度块间的第二参考水平间距的具体方法为:从第一个第二尺度块开始,遍历所有的第二尺度块,对于当前第二尺度块,找出位于其右侧的、与其在竖直方向有交叠且水平方向距离最近的第二尺度块,竖直方向有交叠是指两个第二尺度块的相邻的两个子块在竖直方向有交叠,将二者之间水平方向的距离作为当前第二尺度块的水平间距。水平方向的距离用当前第二尺度块右侧的第二尺度块的左坐标值减去当前第二尺度块的右坐标值表示,“词段”间的间隔一般是标点符号或去掉的第一尺度块等形成,这些间隔一般不会超过2倍字符宽度,所以得到所有的水平间距后要去掉其中大于等于2倍字符宽度,即148,的值,取剩余水平间距值的中值作为第二参考水平间距。本实施例中,所得的第二尺度块间的第二参考水平间距为35。
将各第二尺度块合并以得到第三尺度块的具体方法是:从第一个第二尺度块开始,依次遍历所有的第二尺度块,如果当前第二尺度块已经属于某个第三尺度块,则跳过该第二尺度块,否则创建一个新的第三尺度块并将当前第二尺度块的子块都添加到该第三尺度块中,并将所有满足一定条件的第二尺度块的子块都合并到该第三尺度块中。对于一个新建的第三尺度块,以其最右侧子块为当前子块,搜索能够合并到该第三尺度块的第二尺度块,能够合并到该第三尺度块的第二尺度块需要满足如下第二既定条件:
1)尚未合并到任何第三尺度块;
2)位于当前子块右侧;
3)与当前子块的水平间距大于零、小于等于2倍第二参考水平间距,即70;
4)该第三尺度块的最左侧子块与当前子块在竖直方向有既定高度的交叠。
步骤3还包括对得到的第三尺度块进行验证,如果与当前第二尺度块相邻的、与合并方向相反的第二尺度块和当前第二尺度块在竖直方向有高度大于既定高度的交叠,且两相邻的第二尺度块的水平间距不大于2倍水平间距,则当前第二尺度块不能合并至第三尺度块中,当前第三尺度块结束合并。本实施例中,由于从左至右将第二尺度块进行合并,则从右至左对合并的第三尺度块进行验证,以当前第二尺度块最左侧子块为参考子块,满足条件:
a)尚未合并到任何第三尺度块;
b)位于参考子块左侧;
c)与参考子块的水平间距小于等于2倍第二参考水平间距,即70;
d)该第二尺度块的最右侧子块与参考子块在竖直方向有大于既定高度的交叠。
如果不对得到的第三尺度块进行验证,则第三尺度块会依次从左向右去合并合适的第二尺度块,当前第二尺度块虽然满足条件1)、2)、3)、4),但有其他的第二尺度块比当前第二尺度块更适合与第三尺度块进行合并。如图10所示,当前第三尺度块为“的包办代替和”,搜索到第二尺度块“了”、“独立”、“的愿望”满足条件1)、2)、3)、4),但是显然这些第二尺度块与其左侧的第二尺度块“有”合并才正确,如果不对第二尺度块进行验证,就会发生错误合并。如果不存在满足条件1)、2)、3)、4)的第二尺度块,且第二尺度块的验证没有通过,则该第三尺度块结束合并。如果满足条件1)、2)、3)、4)的第二尺度块只有一个,且第二尺度块的验证通过,则将其子块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧子块作为当前子块继续进行搜索合并。如果满足条件1)、2)、3)、4)的第二尺度块有多个,且这些第二尺度块的验证均通过,并且存在两个或两个以上的竖直方向交叠高度大于字符高度的三分之一,即24,则该第三尺度块结束合并。如图11中第三尺度块“社会意识,有了‘独立’的愿望。要自己干一些事情”与其右侧的两个第二尺度块既存在此种情况,此时该第三尺度块结束合并。
如果满足条件1)、2)、3)、4)的第二尺度块有多个,且这些第二尺度块的验证均通过,且不存在两个或两个以上的竖直方向交叠高度同时大于字符高度的三分之一,即24,则只将竖直方向交叠高度最大者的第二尺度块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧子块作为当前子块继续进行搜索合并。本实施例中,合并后得到的第三尺度块如图12所示,其中单个灰色方框或由线段连接的多个灰色方框表示一个第三尺度块,灰色方框表示构成第三尺度块的第一尺度块。
步骤4:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。
将各第三尺度块进行合并得到文字行时,依次遍历含有既定数目的第一尺度块的各第三尺度块,将未经合并的当前第三尺度块作为文字行,把满足第三既定条件的未经合并的第三尺度块合并到所述文字行。文字行由满足一定条件的第三尺度块的所有第一尺度块构成,即文字行也是由第一尺度块构成,它与第三尺度块的区别在于尺度不同。在得到第三尺度块后,由于第三尺度块已经具有一定的长度,即一般由多个第一尺度块构成,第二参考水平间距作为合并的度量条件已经不可靠,这些第三尺度块本身已经包含了文字行的轨迹趋势,所以可以利用这种轨迹趋势进行合并,轨迹趋势可以用第三尺度块的首尾部分既定数目的第一尺度块的延长线描述。将所有的第三尺度块按照从左到右的顺序进行排序,计算含有既定数目的第三尺度块的左右两端的延长线后进行合并。
本实施例中,既定数目为三个及三个以上,从左至右将第三尺度块进行合并。对于含有三个及三个以上第一尺度块的第三尺度块,其左端延长线由位于第三尺度块最左侧的三个第一尺度块计算得到,其右端延长线由位于第三尺度块最右侧的三个第一尺度块计算得到。延长线可以通过提取三个第一尺度块的中心点坐标并用最小二乘法拟合得到。
将各第三尺度块合并以得到文字行的具体方法是:从第一个第三尺度块开始,依次遍历所有含有三个及三个以上第一尺度块的第三尺度块,如果当前第三尺度块已经属于某个文字行,则跳过该第三尺度块,否则创建一个新的文字行并将当前第三尺度块的第一尺度块都添加到该文字行中。本实施例中,以当前第三尺度块的左右两端延长线作为文字行左右两端延长线,根据延长线将第三尺度块的第一尺度块都合并到该文字行中,由于第三尺度块包括一个或多个第二尺度块,第二尺度块包括一个或多个第一尺度块,则合并后得到一个或多个由第一尺度块组成的文字行。对于一个新建的文字行,分别搜索位于当前文字行左右两侧的能够合并到当前文字行的第三尺度块,对于位于当前文字行左侧的第三尺度块,合并条件如下:
1)尚未合并到任何文字行;
2)文字行左端延长线穿过当前第三尺度块的最右侧第一尺度块;
3)该第三尺度块与相邻的第三尺度块的水平间距小于4倍字符宽度,即296。
其中该第三尺度块与当前文字行的水平方向距离用当前文字行的左坐标减去当前第三尺度块的最右侧第一尺度块的右坐标的差值表示。如果不存在满足条件1)、2)、3)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)、3)的第三尺度块,则将其第三尺度块合并到该文字行中,根据所得的文字行左端的三个第一尺度块继续进行合并。如果该第三尺度块有左端延长线,则将第三尺度块的左端延长线作为合并后的文字行的左端延长线;如果该第三尺度块没有左端延长线,则取合并后的文字行的最左侧的三个第一尺度块重新计算左端延长线,并以合并后的文字行继续向左进行搜索合并。
对于位于当前文字行右侧的第三尺度块,合并条件如下:
1)尚未合并到任何文字行;
2)文字行右端延长线穿过当前第三尺度块的最左侧第一尺度块;
3)该第三尺度块与相邻的第三尺度块的水平间距小于4倍字符宽度,即296。
其中该第三尺度块与当前文字行的水平方向距离用当前文字行的右坐标减去当前第三尺度块的最左侧第一尺度块的左坐标的差值表示。如果不存在满足条件1)、2)、3)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)、3)的第三尺度块,则将其第三尺度块合并到该文字行中,根据所得的文字行右端的三个第一尺度块继续进行合并。如果该第三尺度块有右端延长线,则将第三尺度块的右端延长线作为合并后的文字行的右端延长线;如果该第三尺度块没有右端延长线,则取合并后的文字行的最右侧的三个第一尺度块重新计算右端延长线,并以合并后的文字行继续向右进行搜索合并。本实施例中,得到的文字行如图13所示,其中用线段连接在一起的灰色方框表一个文字行,灰色方框表示构成文字行的第一尺度块。
上述步骤1至步骤4都属于自底向上的合并步骤,但在得到文字行后可以用文字行作指导,自顶向下的去合并那些在步骤12中去掉的第一尺度块。去掉的第一尺度块是较小的非贴边第一尺度块,这些第一尺度块中的部分或全部有可能是某个文字行的组成部分,需要将其合并到对应的文字行中以得到完整的文字行,故本实施例中还包括步骤45。
步骤45,将小于字符高度二分之一的第一尺度块添加至文字行。
将相邻的第一尺度块的中心点的线段分别向上和向下平移二分之一的字符高度之间的区域作为有效区域,在有效区域内的第一尺度块添加至文字行。本实施例中,某文字行中的两个相邻第一尺度块的中心点的连线形成一条线段,这条线段向上平移二分之一的字符高度后的位置称为文字行在该位置处的上边线,这条线段向下平移二分之一的字符高度后的位置称为文字行在该位置处的下边线,上下边线所夹的区域称为文字行在该位置处的有效区域。如果某个被去掉的第一尺度块包含在某文字行的某个有效区域内或与某文字行的某个有效区域相交,则将该第一尺度块添加到该文字行中,否则该第一尺度块不加入任何文字行中。
本实施例中,最终得到的文字行如图14所示,其中由线段连接在一起的灰色方框表示一个文字行,灰色方框表示构成文字行的第一尺度块。
实施例之二
如图15所示,提供扫描笔获取的英文全景二值图像为第二实施例,图1所示为第二实施例的流程图,具体处理步骤如下:
步骤0:对全景二值图像进行预处理。
A)标记全景二值图像中的连通域,统计各连通域的高度得到全景二值图像中的平均字符高。如图16所示,标记全景二值图像中的8连通域,计算各连通域的高度并从小到大排序,从最大高度值开始,依次累加各个高度值对应的连通域的个数,当累加个数大于等于连通域总个数的十分之一时停止累加,取此时的高度值为平均字符高。本实施例中,得到的平均字符高为49。
B)去除全景二值图像边缘处高度小于平均字符高既定比例的连通域。
由于扫描笔在获取图像时,有明确的目的性,即待识别文字行中的字符会尽量扫描完整且尽量位于图像的中间部分,这就意味着待识别文字行中的字符一般不会贴边,贴边的概念如下:全景二值图像由图像帧序列拼接而成,在拼接过程中,可以准确获取每帧图像在全景二值图像中的位置,这样就可以获取全景二值图像中由帧图像数据构成的部分的区域,这个区域的上边缘线称为全景二值图像的上边缘线,这个区域的下边缘线称为全景二值图像的下边缘线,如果某个连通域的像素位于上边缘线或下边缘线上,则称之为贴边类型的连通域。贴边类型的连通域一般均为不完整字符,如果字符过于不完整,则该字符无法识别,故需要去除这些不完整的字符以避免对后续的合并和识别过程产生干扰。在本实施例中,全景二值图像的上下边缘线如图17中的灰线所示,去除高度小于字符高度的二分之一,即24,的贴边连通域后剩余的连通域如图18所示。
步骤1,对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块。
统计字符宽度和字符高度,去掉较小的贴边连通域后,统计得到的结果更加接近于真实值。计算各连通域的宽度并从小到大排序,从最大宽度值开始,依次累加各个宽度值对应的连通域的个数,按宽度值从大到小的顺序将其对应的连通域个数加和,取加和大于等于连通域总数的五分之一时对应的宽度值作为字符宽度。同理,计算各连通域的高度并从小到大排序,从最大高度值开始,依次累加各个高度值对应的连通域的个数,按高度值从大到小的顺序将其对应的连通域个数加和,取加和值大于等于连通域总数的五分之一时对应的高度值作为字符高度。本实施例中,此步骤得到的字符宽度为44,字符高度为54。
根据字符宽度和字符高度对各连通域进行合并,合并各连通域得到第一尺度块。第一尺度块的概念对应于“字符”,第一尺度块由符合一定条件的相包含或相交或相邻的连通域构成,具体流程如图2所示,包含如下处理过程:
合并相包含的连通域。对于各连通域中一个连通域包含另一个连通域的情况,如果较大的连通域的宽度小于等于字符宽度的1.5倍,即66,并且较大的连通域的高度小于等于字符高度的1.5倍,即81,则将两相包含的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有相包含的连通域合并结束。
合并相交的连通域。对于相交的两个连通域,如果合并后的连通域的宽度小于等于字符宽度的1.5倍,即66,并且结果合并后的连通域的高度小于等于字符高度的1.5倍,即81,则将两相交的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有相交的连通域合并结束。
合并左右相邻且竖直方向有交叠的连通域。对于左右相邻且竖直方向有交叠的两个连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即55,并且高度小于等于字符高度的五分之六,即64,则将两左右相邻且竖直方向有交叠的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有左右相邻且竖直方向有交叠的连通域合并结束。
合并上下相邻且水平方向有交叠的连通域。对于上下相邻且水平方向有交叠的两个连通域,如果合并后的连通域的宽度小于等于字符宽度的四分之五,即55,并且高度小于等于字符高度的五分之六,即64,则将两上下相邻且水平方向有交叠的连通域进行合并。对于被合并的两个连通域不再继续合并,并使合并得到的连通域继续参与合并,直至各连通域中所有上下相邻且水平方向有交叠的连通域合并结束。
经过上述步骤的合并后,将未发生合并的连通域及合并所得的连通域作为第一尺度块。本实施例中,得到的第一尺度块如图19中的灰色方框所示。
步骤12,去除小于字符高度二分之一的第一尺度块。
由于较小的第一尺度块会干扰后面的合并,所以要先去除这些高度小于字符高度的二分之一,即27,的第一尺度块。剩余的第一尺度块如图20中的灰色方框所示。
步骤2,将得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块。
将各第一尺度块进行合并得到第二尺度块时,依次遍历各第一尺度块,将未经合并的当前第一尺度块作为第二尺度块,并将满足既定条件的未经合并的第一尺度块合并到所述第二尺度块。第二尺度块的概念对应于“单词”,由一个或多个满足一定条件的第一尺度块组成,构成第二尺度块的每个第一尺度块作为第二尺度块的子块。将所有的第一尺度块按照从左到右的顺序进行排序,计算第一尺度块间的水平间距后进行合并。
本实施例中,从左至右将第一尺度块进行合并。计算第一尺度块间的参考水平间距的具体方法为:从第一个第一尺度块开始,遍历所有的第一尺度块,对于当前第一尺度块,找出位于其右侧与其在竖直方向有交叠且水平方向距离最近的第一尺度块,用其左坐标值减去当前第一尺度块的右坐标值的长度作为水平间距,取所有这些水平间距值的中值作为第一尺度块间的参考水平间距。本实施例中,所得的第一尺度块的参考水平间距为4。
将各第一尺度块合并以得到第二尺度块的具体方法是:从第一个第一尺度块开始,依次遍历所有的第一尺度块,如果当前第一尺度块已经属于某个第二尺度块,则跳过该第一尺度块,否则创建一个新的第二尺度块并将当前第一尺度块合并至该第二尺度块中。对于一个新建的第二尺度块,以第一个子块为当前子块,搜索能够合并到该第二尺度块的第一尺度块,能够合并到该第二尺度块的各第一尺度块需满足如下既定条件:
1)尚未合并到任何第二尺度块;
2)位于当前子块右侧;
3)与相邻的第二尺度块的水平间距小于等于2倍的参考水平间距,即8,并且大于等于负的字符宽度的三分之一,即-14;
4)与当前子块在竖直方向有交叠,且交叠高度大于等于两者中高度较小者的三分之一。
如果不存在满足条件1)、2)、3)、4)的第一尺度块,则该第二尺度块结束合并;如果满足条件1)、2)、3)、4)的第一尺度块只有一个,则将这一个合并,合并后将新加入的第一尺度块作为当前子块继续进行搜索合并;如果满足条件1)、2)、3)、4)的第一尺度块有多个,则只取竖直方向交叠最大的一个合并,合并后的第一尺度块作为当前子块继续进行搜索合并。本实施例中,得到的第二尺度块如图21所示,其中单个灰色方框或者用线段连接在一起的灰色方框表示一个第二尺度块,灰色方框表示构成第二尺度块的第一尺度块。
步骤3,将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块。
将各第二尺度块进行合并得到第三尺度块时,依次遍历各第二尺度块,将未经合并的当前第二尺度块作为第三尺度块,并将满足第二既定条件的未经合并的第二尺度块合并到所述第三尺度块。第三尺度块的概念对应于“词段”,“词段”是指文字行中被标点符号或去掉的第一尺度块等间隔开来的字符内容,第三尺度块由一个或多个满足一定条件的第二尺度块的所有子块——第一尺度块组成,即第三尺度块也是由第一尺度块组成。将所有的第二尺度块按照从左到右的顺序进行排序,计算第二尺度块间的第二参考水平间距后进行合并,由于第二尺度块包括多个第一尺度块,则合并后得到多个由第一尺度块组成的第三尺度块。
本实施例中,从左至右将第二尺度块进行合并。计算第二尺度块间的第二参考水平间距的具体方法为:从第一个第二尺度块开始,遍历所有的第二尺度块,对于当前第二尺度块,找出位于其右侧的、与其在竖直方向有交叠且水平方向距离最近的第二尺度块,竖直方向有交叠是指两个第二尺度块的相邻的两个子块在竖直方向有交叠,将二者之间水平方向的距离作为当前第二尺度块的水平间距。水平方向的距离用当前第二尺度块右侧的第二尺度块的左坐标值减去当前第二尺度块的右坐标值表示,“词段”间的间隔一般是标点符号或去掉的第一尺度块等造成的,这些间隔一般不会超过2倍字符宽度,所以得到所有的水平间距后要去掉其中大于等于2倍字符宽度,即88,的值,取剩余水平间距值的中值作为第二参考水平间距。本实施例中,所得的第二尺度块间的第二参考水平间距为36。
将各第二尺度块合并以得到第三尺度块的具体方法是:从第一个第二尺度块开始,依次遍历所有的第二尺度块,如果当前第二尺度块已经属于某个第三尺度块,则跳过该第二尺度块,否则创建一个新的第三尺度块并将当前第二尺度块的子块都添加到该第三尺度块中,并将所有满足一定条件的第二尺度块的子块都合并到该第三尺度块中。对于一个新建的第三尺度块,以其最右侧子块为当前子块,搜索能够合并到该第三尺度块的第二尺度块,能够合并到该第三尺度块的第二尺度块需要满足如下第二既定条件:
1)尚未合并到任何第三尺度块;
2)位于当前子块右侧;
3)与当前子块的水平间距大于零、小于等于2倍第二参考水平间距,即72;
4)该第三尺度块的最左侧子块与当前子块在竖直方向有既定高度的交叠。
步骤3还包括对得到的第三尺度块进行验证,如果与当前第二尺度块相邻的、与合并方向相反的第二尺度块和当前第二尺度块在竖直方向有高度大于既定高度的交叠,且两相邻的第二尺度块的水平间距不大于2倍水平间距,则当前第二尺度块不能合并至第三尺度块中,当前第三尺度块结束合并。本实施例中,由于从左至右将第二尺度块进行合并,则从右至左对合并的第三尺度块进行验证,以当前第二尺度块最左侧子块为参考子块,满足条件:
a)尚未合并到任何第三尺度块;
b)位于参考子块左侧;
c)与参考子块的水平间距小于等于2倍第二参考水平间距,即72;
d)该第二尺度块的最右侧子块与参考子块在竖直方向有大于既定高度的交叠。
如果不对得到的第三尺度块进行验证,则第三尺度块会依次从左向右去合并合适的第二尺度块,当前第二尺度块虽然满足条件1)、2)、3)、4),但有其他的第二尺度块比当前第二尺度块更合适地与第三尺度块进行合并。如果不存在满足条件1)、2)、3)、4)的第二尺度块,且第二尺度块的验证没有通过,则该第三尺度块结束合并。
如果满足条件1)、2)、3)、4)的第二尺度块只有一个,且第二尺度块的验证通过,则将其子块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧子块作为当前子块继续进行搜索合并。如果满足条件1)、2)、3)、4)的第二尺度块有多个,且这些第二尺度块的验证均通过,并且存在两个或两个以上的竖直方向交叠高度大于字符高度的三分之一,即18,则该第三尺度块结束合并。如果满足条件1)、2)、3)、4)的第二尺度块有多个,且这些第二尺度块的验证均通过,且不存在两个或两个以上的竖直方向交叠高度同时大于字符高度的三分之一则只将竖直方向交叠高度最大者的第二尺度块合并到该第三尺度块中,并将合并后的第三尺度块的最右侧子块作为当前子块继续进行搜索合并。本实施例中,得到的第三尺度块如图22所示,其中单个灰色方框或由线段连接的多个灰色方框表示一个第三尺度块,灰色方框表示构成第三尺度块的第一尺度块。
步骤4:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。
将各第三尺度块进行合并得到文字行时,依次遍历含有既定数目的第一尺度块的各第三尺度块,将未经合并的当前第三尺度块作为文字行,把满足第三既定条件的未经合并的第三尺度块合并到所述文字行。文字行由满足一定条件的第三尺度块的所有第一尺度块构成,即文字行也是由第一尺度块构成,它与第三尺度块的区别在于尺度不同。在得到第三尺度块后,由于第三尺度块已经具有一定的长度,即一般由多个第一尺度块构成,第二参考水平间距作为合并的度量条件已经不可靠,这些第三尺度块本身已经包含了文字行的轨迹趋势,所以可以利用这种轨迹趋势进行合并,轨迹趋势可以用第三尺度块的首尾部分既定数目的第一尺度块的延长线描述。将所有的第三尺度块按照从左到右的顺序进行排序,计算含有既定数目的第三尺度块的左右两端的延长线后进行合并。
本实施例中,既定数目为三个及三个以上,从左至右将第三尺度块进行合并。对于含有三个及三个以上第一尺度块的第三尺度块,其左端延长线由位于第三尺度块最左侧的三个第一尺度块计算得到,其右端延长线由位于第三尺度块最右侧的三个第一尺度块计算得到。延长线可以通过提取三个第一尺度块的中心点坐标并用最小二乘法拟合得到。
将各第三尺度块合并以得到文字行的具体方法是:从第一个第三尺度块开始,依次遍历所有含有三个及三个以上第一尺度块的第三尺度块,如果当前第三尺度块已经属于某个文字行,则跳过该第三尺度块,否则创建一个新的文字行并将当前第三尺度块的第一尺度块都添加到该文字行中。本实施例中,以当前第三尺度块的左右两端延长线作为文字行左右两端延长线,根据延长线将第三尺度块的第一尺度块都合并到该文字行中,由于第三尺度块包括一个或多个第二尺度块,第二尺度块包括一个或多个第一尺度块,则合并后得到由一个或多个第一尺度块组成的文字行。对于一个新建的文字行,分别搜索位于当前文字行左右两侧的能够合并到当前文字行的第三尺度块,对于位于当前文字行左侧的第三尺度块,合并条件如下:
对于位于当前文字行左侧的第三尺度块,合并条件如下:
1)尚未合并到任何文字行;
2)文字行左端延长线穿过当前第三尺度块的最右侧第一尺度块;
3)该第三尺度块与相邻的第三尺度块的水平间距小于4倍字符宽度,即176;
其中该第三尺度块与当前文字行的水平方向距离用当前文字行的左坐标减去当前第三尺度块的最右侧第一尺度块的右坐标的差值表示。如果不存在满足条件1)、2)、3)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)、3)的第三尺度块,则将其第三尺度块合并到该文字行中,根据所得的文字行左端的三个第一尺度块继续进行合并。如果该第三尺度块有左端延长线,则将第三尺度块的左端延长线作为合并后的文字行的左端延长线;如果该第三尺度块没有左端延长线,则取合并后的文字行的最左侧的三个第一尺度块重新计算左端延长线,并以合并后的文字行继续向左进行搜索合并。
对于位于当前文字行右侧的第三尺度块,合并条件如下:
1)尚未合并到任何文字行;
2)文字行右端延长线穿过当前第三尺度块的最左侧第一尺度块;
3)该第三尺度块与相邻的第三尺度块的水平间距小于4倍字符宽度,即176。
其中该第三尺度块与当前文字行的水平方向距离用当前文字行的右坐标减去当前第三尺度块的最左侧第一尺度块的左坐标的差值表示。如果不存在满足条件1)、2)、3)的第三尺度块,则该文字行结束合并;如果找到一个满足条件1)、2)、3)的第三尺度块,则将其第三尺度块合并到该文字行中,根据所得的文字行右端的三个第一尺度块继续进行合并。如果该第三尺度块有右端延长线,则将第三尺度块的右端延长线作为合并后的文字行的右端延长线;如果该第三尺度块没有右端延长线,则取合并后的文字行的最右侧的三个第一尺度块重新计算右端延长线,并以合并后的文字行继续向右进行搜索合并。本实施例中,得到的文字行如图23所示,其中用线段连接在一起的灰色方框表一个文字行,灰色方框表示构成文字行的第一尺度块。
上述步骤1至步骤4都属于自底向上的合并步骤,但在得到文字行后可以用文字行作指导,自顶向下的去合并那些在步骤12中去掉的第一尺度块。去掉的第一尺度块是较小的非贴边第一尺度块,这些第一尺度块中的部分或全部有可能是某个文字行的组成部分,需要将其合并到对应的文字行中以得到完整的文字行,故本实施例中还包括步骤45。
步骤45,将小于字符高度二分之一的第一尺度块添加至文字行。
将相邻的第一尺度块的中心点的线段分别向上和向下平移二分之一的字符高度之间的区域作为有效区域,在有效区域内的第一尺度块添加至文字行。本实施例中,某文字行中的两个相邻第一尺度块的中心点的连线形成一条线段,这条线段向上平移二分之一的字符高度后的位置称为文字行在该位置处的上边线,这条线段向下平移二分之一的字符高度后的位置称为文字行在该位置处的下边线,上下边线所夹的区域称为文字行在该位置处的有效区域。如果某个被去掉的第一尺度块包含在某文字行的某个有效区域内或与某文字行的某个有效区域相交,则将该第一尺度块添加到该文字行中,否则该第一尺度块不加入任何文字行中。
本实施例中,最终得到的文字行如图24所示,其中由线段连接在一起的灰色方框表示一个文字行,灰色方框表示构成文字行的第一尺度块。
本发明还公开了一种文字行提取装置,包括如下模块:
统计模块:对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块;
第一合并模块:将得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块;
第二合并模块:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块;
第三合并模块:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行。
Claims (17)
1.一种文字行提取方法,其特征在于,包括如下步骤:
步骤一:对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块并去除高度小于字符高度二分之一的第一尺度块;
步骤二:将去除高度小于字符高度二分之一的第一尺度块后得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块;
步骤三:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块;
步骤四:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行,并将高度小于字符高度二分之一的第一尺度块添加至文字行。
2.根据权利要求1所述的方法,其特征在于:所述步骤一之前还包括:
步骤a:标记全景二值图像中的连通域,统计各连通域的高度得到全景二值图像中的平均字符高;
步骤b:去除全景二值图像边缘处高度小于平均字符高既定比例的连通域。
3.根据权利要求1所述的方法,其特征在于:所述步骤一中对全景二值图像中的各连通域进行统计时,按各连通域的宽度值统计对应的连通域个数,按宽度值从大到小的顺序将其对应的连通域个数加和,取加和大于等于连通域总数的五分之一时对应的宽度值作为字符宽度。
4.根据权利要求1所述的方法,其特征在于:所述步骤一中对全景二值图像中的各连通域进行统计时,按各连通域的高度值统计对应的连通域个数,按高度值从大到小的顺序将其对应的连通域个数加和,取加和值大于等于连通域总数的五分之一时对应的高度值作为字符高度。
5.根据权利要求1所述的方法,其特征在于:所述步骤二的参考水平间距为两相邻的第一尺度块间的水平间距的中值。
6.根据权利要求1所述的方法,其特征在于:所述步骤二中将各第一尺度块进行合并得到第二尺度块时,依次遍历各第一尺度块,将未经合并的当前第一尺度块作为第二尺度块,并将满足既定条件的未经合并的第一尺度块合并到所述第二尺度块。
7.根据权利要求6所述的方法,其特征在于:所述既定条件为第二尺度块与相邻的第一尺度块在竖直方向有交叠,且交叠高度大于等于两者中高度较小者的三分之一,且第二尺度块与相邻的第一尺度块的水平间距小于等于2倍参考水平间距且大于等于负的字符宽度的三分之一。
8.根据权利要求1所述的方法,其特征在于:所述步骤三的第二参考水平间距为两相邻的第二尺度块间的小于2倍字符宽度的水平间距的中值。
9.根据权利要求1所述的方法,其特征在于:所述步骤三中将各第二尺度块进行合并得到第三尺度块时,依次遍历各第二尺度块,将未经合并的当前第二尺度块作为第三尺度块,并将满足第二既定条件的未经合并的第二尺度块合并到所述第三尺度块。
10.根据权利要求9所述的方法,其特征在于:所述第二既定条件为第三尺度块与相邻的第二尺度块在竖直方向有既定高度的交叠;且第三尺度块与相邻的第二尺度块的水平间距大于零、小于等于2倍第二参考水平间距。
11.根据权利要求9所述的方法,其特征在于:所述步骤三还包括对得到的第三尺度块进行验证,如果与当前第二尺度块相邻的、与合并方向相反的第二尺度块和当前第二尺度块在竖直方向有高度大于既定高度的交叠,且两相邻的第二尺度块的水平间距不大于2倍第二参考水平间距,则当前第二尺度块不能合并至第三尺度块中,当前第三尺度块结束合并。
12.根据权利要求1所述的方法,其特征在于:所述步骤四中的延长线分别由位于第三尺度块中最左侧既定数目的第一尺度块和最右侧的既定数目的第一尺度块生成,通过提取各第一尺度块的中心点坐标用最小二乘法拟合得到。
13.根据权利要求12所述的方法,其特征在于:所述步骤四中的既定数目为三个及三个以上。
14.根据权利要求1所述的方法,其特征在于:所述步骤四中根据延长线合并为文字行包括:依次遍历含有既定数目的第一尺度块的各第三尺度块,将未经合并的当前第三尺度块作为文字行,把满足第三既定条件的未经合并的第三尺度块合并到所述文字行。
15.根据权利要求14所述的方法,其特征在于:所述第三既定条件为文字行的延长线穿过当前第三尺度块中与文字行距离最近的第一尺度块,且当前第三尺度块与文字行的水平间距小于4倍字符宽度。
16.根据权利要求1所述的方法,其特征在于:所述小于字符高度二分之一的第一尺度块添加至文字行时,将文字行中连接相邻的第一尺度块的中心点的线段分别向上和向下平移二分之一的字符高度,所得线段之间的区域作为有效区域,在有效区域内的第一尺度块添加至文字行。
17.一种文字行提取装置,其特征在于,包括如下模块:
统计模块:对全景二值图像中的各连通域进行统计,得到字符宽度和字符高度,根据字符宽度和字符高度对各连通域进行合并,得到第一尺度块并去除高度小于字符高度二分之一的第一尺度块;
第一合并模块:将去除高度小于字符高度二分之一的第一尺度块后得到的第一尺度块进行排序,得到各第一尺度块间的参考水平间距,根据参考水平间距将各第一尺度块进行合并得到第二尺度块;
第二合并模块:将得到的第二尺度块进行排序,得到各第二尺度块间的第二参考水平间距,根据第二参考水平间距将各第二尺度块进行合并得到第三尺度块;
第三合并模块:将得到的第三尺度块进行排序,排序后将第三尺度块左右两端既定数目的第一尺度块作延长线,根据延长线将各第三尺度块合并为文字行,并将高度小于字符高度二分之一的第一尺度块添加至文字行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010568411 CN102063619B (zh) | 2010-11-30 | 2010-11-30 | 文字行提取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010568411 CN102063619B (zh) | 2010-11-30 | 2010-11-30 | 文字行提取方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063619A CN102063619A (zh) | 2011-05-18 |
CN102063619B true CN102063619B (zh) | 2013-03-13 |
Family
ID=43998888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010568411 Active CN102063619B (zh) | 2010-11-30 | 2010-11-30 | 文字行提取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063619B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636744A (zh) * | 2013-11-11 | 2015-05-20 | 方正国际软件(北京)有限公司 | 一种数字切分方法及系统 |
CN106709490B (zh) * | 2015-07-31 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 一种字符识别方法和装置 |
CN108830269B (zh) * | 2015-09-29 | 2021-09-07 | 大连民族大学 | 确定满文单词中轴线宽度的方法 |
CN105184289B (zh) * | 2015-10-10 | 2019-06-28 | 北京百度网讯科技有限公司 | 字符识别方法和装置 |
CN105354834B (zh) * | 2015-10-15 | 2018-04-17 | 广东欧珀移动通信有限公司 | 一种统计纸质文本字体个数的方法及装置 |
CN105809164B (zh) * | 2016-03-11 | 2019-05-14 | 北京旷视科技有限公司 | 文字识别方法和装置 |
CN108596167B (zh) * | 2018-04-19 | 2020-08-21 | 上海亿锎智能科技有限公司 | 一种变长光学字符文字快速识别系统及方法、装置 |
CN109558876B (zh) * | 2018-11-20 | 2021-11-16 | 浙江口碑网络技术有限公司 | 字符识别处理方法及装置 |
CN109598272B (zh) * | 2019-01-11 | 2021-08-06 | 北京字节跳动网络技术有限公司 | 字符行图像的识别方法、装置、设备及介质 |
CN110472550A (zh) * | 2019-08-02 | 2019-11-19 | 南通使爱智能科技有限公司 | 一种文本图像拍摄完整度判断方法及系统 |
CN110852229A (zh) * | 2019-11-04 | 2020-02-28 | 泰康保险集团股份有限公司 | 图像中文本区域的位置确定方法、装置、设备及存储介质 |
CN111325195B (zh) * | 2020-02-17 | 2024-01-26 | 支付宝(杭州)信息技术有限公司 | 文本识别方法、装置及电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1131301A (zh) * | 1995-03-13 | 1996-09-18 | 财团法人工业技术研究院 | 一种文字切割的方法 |
-
2010
- 2010-11-30 CN CN 201010568411 patent/CN102063619B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1131301A (zh) * | 1995-03-13 | 1996-09-18 | 财团法人工业技术研究院 | 一种文字切割的方法 |
Non-Patent Citations (1)
Title |
---|
郑苏民,张松顺.一种新的文本预处理方法研究.《云南大学学报(自然科学版)》.1995,(第01期), * |
Also Published As
Publication number | Publication date |
---|---|
CN102063619A (zh) | 2011-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063619B (zh) | 文字行提取方法和装置 | |
TWI536277B (zh) | Form identification method and device | |
Kumar et al. | Segmentation of isolated and touching characters in offline handwritten Gurmukhi script recognition | |
CN100474340C (zh) | 图像处理方法和图像处理装置 | |
CN104376318B (zh) | 在保留交叉字符笔划的同时去除文档图像中的下划线和表格线 | |
Dongre et al. | Devnagari document segmentation using histogram approach | |
CN105046200B (zh) | 基于直线检测的电子阅卷方法 | |
CN101122952A (zh) | 一种图片文字检测的方法 | |
CN103310211A (zh) | 一种基于图像处理的填注标记识别方法 | |
CN105608454A (zh) | 基于文字结构部件检测神经网络的文字检测方法及系统 | |
CN110598566A (zh) | 图像处理方法、装置、终端和计算机可读存储介质 | |
CN102339352A (zh) | 电子阅卷方法 | |
CN113537227B (zh) | 一种结构化文本识别方法及系统 | |
CN106033534B (zh) | 基于直线检测的电子阅卷方法 | |
CN112308063A (zh) | 文字识别装置、翻译笔、图像翻译方法及图像翻译装置 | |
Chiang et al. | Automatic extraction of road intersections from raster maps | |
CN111275049B (zh) | 一种文字图像骨架特征描述符获取的方法及装置 | |
CN108052936B (zh) | 一种盲文图像自动倾斜校正方法及系统 | |
CN104463157A (zh) | 手写字符的电子识别方法 | |
Mullick et al. | An efficient line segmentation approach for handwritten Bangla document image | |
CN106326872A (zh) | 一种扩增现实系统中手势轮廓的提取方法 | |
JP2011008770A (ja) | 原稿方向の検出方法及び装置 | |
JP2011090578A (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN104021385A (zh) | 基于模板匹配及曲线拟合的视频字幕细化方法 | |
CN113298003A (zh) | 一种基于ar的航空电缆装配系统及方法 |
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 |