背景技术
随着OCR(Optical Character Recognition,光字符识别)中单字符识别正确率的提高,字符切分已经成为OCR领域中的关键问题,目前在文字识别领域取得的大部分进展也都可以归功为文字切分水平的提高。但是目前文字识别技术的实用化已经受限于文字字符的切分技术,文字切分的正确率与文字识别正确率直接相关,文字切分的错误会直接导致文字识别的错误。
字符切分的目的就是从多字符图像中切分出一系列子图像,其中每个子图像都包含一个独立完整的字符。目前常用的字符切分方法有:标准切分法、基于识别的切分法、整体切分法以及前三种方法的组合。
整体切分法主要使用在英文字符切分过程中,该方法是把一个单词作为一个整体来进行识别,这种方法虽然避免了单词内部切分的问题,但它依赖于现有的定义好的词典,这大大限制了该方法的应用范围。
标准切分法主要使用在汉字字符切分过程中,该方法通过对图像进行分析寻找到字符之间较为合理的切分点,采用静态的投影分析方法,将文本图像进行行切分和列切分,该方法的具体实施过程如下:
通过扫描仪等数码成像设备获取文档的灰度图像数据。对于保存时间过长的文档、被弄脏的文档、加深复印后的复制件,扫描后的灰度图像数据包含很多额外的噪声,往往会影响字符切分的准确率,如图1所示。可以采用全局或者局部的阈值化方法对灰度图像数据进行二值化操作,例如大津法、迭代法和双峰法等,图2为对图1所示的图像采用大津法处理后的效果图,可以看出,经过二值化操作后的图像数据上面依然存在很多噪声,比如201所示的长线段和202所示的小的连通区域,这时可以有选择性的对噪声进行过滤操作。
可以采用基于区域生长的图像分割算法来过滤噪声,该方法将同一区域内具有相似性质的像素点聚集起来,形成连通区域,像素的相似性质包括平均灰度值、纹理、颜色等信息。从初始区域(如小邻域或甚至于每个像素)开始,将相邻的具有相似性质的像素点或者其他区域具有该性质的像素点归并到当前区域中,从而逐步增长区域,直至没有可以归并的点或其它小区域为止,形成连通区域。遍历图像中所有的连通区域,并计算每个连通区域内的黑点个数。
计算每个连通区域内的黑点个数后,设置一个经验阈值ThresholdPixel,该经验阈值可以根据文本图像的噪声强弱来设置,也可以根据文档中字体名称、字体大小以及排版布局来设置。所有黑点个数小于ThresholdPixel的连通区域都被视为噪声而被过滤掉。其中ThresholdPixel的值不能太大,否则会将很多汉字字符的偏旁部首过滤掉,比如“滤”字中的点;ThresholdPixel的值也不能太小,否则会遗留一定数目的噪声区域。
例如文档的布局排版格式为:A4幅面大小;字体为“仿宋”;字体大小为小三号;文档共有22行,每行有28个字符(包括标点符号在内)。可以将ThresholdPixel设为50,即黑点个数小于50的连通区域都被视为噪声而被过滤掉,相应区域内的每个像素点值被改为0。图3为图2经过噪音去除处理后的效果示意图,可以看出,其中类似202所述的黑点个数较少的连通区域大部分被过滤掉,但是由于类似201所述的连通区域内的黑点个数较多不能作为噪声过滤掉。
将二值化操作后的图像进行行切分和列切分,图4为如图3的文本区域采用标准切分方法后的效果示意图。可以看出,由于高噪声的存在,采用标准切分法后的文本可能存在字符粘连的问题,粘连是指在多字符图像中,字符间笔划相互接触的情况。
基于识别的方法是对标准切分法及整体切分法所进行的反馈,该方法提供了多个切分假设,然后对切分结构进行选择,得到最优的切分结果,这种方法能够识别出字符切分结果的正确与否,但不能纠正字符切分的错误,也不能有效的解决字符粘连、断笔等问题,而且这种方法比较复杂、耗时,在实际中应用得很少。
可以看出,在现有的字符切分技术中,存在以下缺点:
(1)、容易造成两个及两个以上的汉字图像由于图像预处理的影响或者字符之间的间距过小而粘连在一起,造成了字符切分不准确、识别率低的问题。
印刷体文本图像中,由于印刷样本质量比较差以及对文本图像进行二值化操作后带来的噪声和误差等,常常会造成粘连搭接字符的存在。
而且文献保存的时间过久或文档复制过程也会带来额外的噪声,比如文档被弄脏、阅读者随手添加的批注、复印过程中增加了浓度设置等,普通的噪声去除算法只会处理噪声较小的污点,无法处理长线的噪声,这些长线的噪声会造成字符间的粘连,影响字符识别的结果。
(2)、容易把由偏旁部首组成的汉字分割成多个区域,把偏旁部首当作一个汉字来处理,造成了汉字字符合并不准确、识别率低的问题,产生这种结果的原因有两个:
一是对于由偏旁部首组成的汉字,在印刷或者打印前,由于偏旁部首之间的距离比较小或者粘连的像素数比较少,通常会把偏旁部首当作一个整体的子图像来处理,经过扫描后的灰度图像经过二值化操作后,偏旁部首很容易被当作一个汉字来处理。
二是对灰度文本图像进行二值化操作经常会丢失一些有用的信息,容易造成字符的断笔,把由偏旁部首组成的汉字分割成多个区域。例如打印或者印刷后的文档经过多数复印后,字符图像的灰度值会变得很浅,字符图像中较细的笔划经常出现中间断裂的现象。
(3)对于字符切分结果的正确与否,不用过分依赖于字符识别反馈机制。
发明内容
本发明实施例提供一种字符切分方法和装置,用以提高字符切分的正确性。
本发明实施例提供一种字符切分方法,包括:
对文本图像进行行切分和列切分,获得若干个字符单元图像块;
识别包含粘连字符的字符单元图像块,并继续切分所述包含粘连字符的字符单元图像块;
识别汉字字符单元图像块区域和英文字符单元图像块区域,并在所述汉字字符单元图像块区域中识别由汉字字符偏旁部首占用的字符单元图像块;
将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块;以及
当字符单元图像块的宽度小于等于该字符单元图像块的高度,且该字符单元图像块完全在文本行中心线位置的上面或者下面时,确定字符单元图像块包含标点符号,或者当字符单元图像块的高度小于文本行的高度,宽度小于汉字字符单元图像块平均宽度的1/4,且该字符单元图像块与其相邻的前一字符单元图像块或后一字符单元图像块之间的距离值中,至少有一个距离值大于相邻中英文字符单元图像块之间距离范围的上限时,确定字符单元图像块包含标点符号。
所述粘连字符包括粘连汉字字符,以及所述识别包含粘连字符的字符单元图像块包括:
当字符单元图像块的宽度大于汉字字符单元图像块的平均宽度,且该字符单元图像块的高度与字符单元图像块的平均高度的差值小于设定的阈值时,确定字符单元图像块包含粘连汉字字符。
所述粘连字符包括粘连英文字符,所述识别包含粘连字符的字符单元图像块包括:
当字符单元图像块的宽度大于汉字字符单元图像块的平均宽度,且该字符单元图像块的高度与字符单元图像块的平均高度的差值大于设定的阈值时,确定字符单元图像块包含粘连英文字符。
所述识别汉字字符偏旁部首占用的字符单元图像块的方法包括:
当字符单元图像块的高度大于字符单元图像块的平均高度,宽度大于汉字字符单元图像块的平均宽度的4/5时,确定字符单元图像块包含汉字字符;
当所述汉字字符单元图像块与前一字符单元图像块之间的距离处于相邻中英文字符单元图像块之间的距离范围之外时,将前一字符作为当前字符;
当当前字符单元图像块与前一字符单元图像块中心之间的距离处于相邻汉字字符单元图像块中心之间的距离范围之外时,确定所述当前字符与前一字符均为偏旁部首字符。
一种字符切分装置,包括:
初步切分单元,用于对文本图像进行行切分和列切分,获得若干个字符单元图像块;
粘连字符切分单元,用于识别包含粘连字符的字符单元图像块,并继续切分所述包含粘连字符的字符单元图像块;
识别偏旁部首单元,用于识别汉字字符单元图像块区域和英文字符单元图像块区域,并在所述汉字字符单元图像块区域中识别由汉字字符偏旁部首占用的字符单元图像块;
字符合并单元,用于将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块;
识别标点符号单元,用于当字符单元图像块的宽度小于等于该字符单元图像块的高度,且该字符单元图像块完全在文本行中心线位置的上面或者下面时,确定字符单元图像块包含标点符号,或者当字符单元图像块的高度小于文本行的高度,宽度小于汉字字符单元图像块平均宽度的1/4,且该字符单元图像块与其相邻的前一字符单元图像块或后一字符单元图像块之间的距离值中,至少有一个距离值大于相邻中英文字符单元图像块之间距离范围的上限时,确定字符单元图像块包含标点符号。
一种字符切分方法,包括:
对文本图像进行行切分和列切分,获得若干个字符单元图像块;
识别包含粘连字符的字符单元图像块,并继续切分所述包含粘连字符的字符单元图像块;
识别汉字字符单元图像块区域和英文字符单元图像块区域,并当字符单元图像块的高度大于字符单元图像块的平均高度,宽度大于汉字字符单元图像块的平均宽度的4/5时,确定字符单元图像块包含汉字字符,当所述汉字字符单元图像块与前一字符单元图像块之间的距离处于相邻中英文字符单元图像块之间的距离范围之外时,将前一字符作为当前字符,以及当当前字符单元图像块与前一字符单元图像块中心之间的距离处于相邻汉字字符单元图像块中心之间的距离范围之外时,确定所述当前字符与前一字符均为偏旁部首字符;
将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块。
一种字符切分装置,包括:
初步切分单元,用于对文本图像进行行切分和列切分,获得若干个字符单元图像块;
粘连字符切分单元,用于识别包含粘连字符的字符单元图像块,并继续切分所述包含粘连字符的字符单元图像块;
识别偏旁部首单元,用于识别汉字字符单元图像块区域和英文字符单元图像块区域,并在所述汉字字符单元图像块区域中识别由汉字字符偏旁部首占用的字符单元图像块,其中当字符单元图像块的高度大于字符单元图像块的平均高度,宽度大于汉字字符单元图像块的平均宽度的4/5时,确定字符单元图像块包含汉字字符,当所述汉字字符单元图像块与前一字符单元图像块之间的距离处于相邻中英文字符单元图像块之间的距离范围之外时,将前一字符作为当前字符,以及当当前字符单元图像块与前一字符单元图像块中心之间的距离处于相邻汉字字符单元图像块中心之间的距离范围之外时,确定所述当前字符与前一字符均为偏旁部首字符;
字符合并单元,用于将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块。
通过上述技术方案,本发明实施例通过对文本图像进行行切分和列切分,获得若干个字符单元图像块;识别包含粘连字符的字符单元图像块,并继续切分所述包含粘连字符的字符单元图像块;识别汉字字符单元图像块区域和英文字符单元图像块区域,并在所述汉字字符单元图像块区域中识别由汉字字符偏旁部首占用的字符单元图像块;将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块。该方法能够识别出包含粘连字符的字符单元图像块及包含偏旁部首的字符单元图像块,使得字符切分结果不用过分依赖于字符识别反馈机制,进一步提高了字符的识别率。
具体实施方式
本发明实施例提供一种字符切分方法及其装置,针对现有技术提供的字符切分方法导致字符切分错误带来的字符识别率较低的问题,提出了以下技术方案,现结合说明书附图及具体实施例对该技术进行详细说明:
本发明第一实施例提供了一种字符切分方法,如图5所示,具体实施过程如下:
S100、对文本图像进行行切分和列切分,获得若干个字符单元图像块。结合图6对该具体过程进行详细说明:
S101、对二值化后的文本图像进行行切分。
获得待切分的二值文本点阵图像,文本区域的像素宽度为nWidth,高度为nHeight。设置函数f(i,j),表示图像第i行第j列的像素值,当像素点f(i,j)为前景点时,取值为1;当像素点f(i,j)为背景点时,取值为0。
为了切分出文本的行区域,并且去除成行状分布的噪声,从上向下扫描文本图像,并计算每条水平扫描线上前景点的像素值之和Sn,其中Sn=S1+S2+...+Si+...(i=0,1,2...nWidth)。设置阈值N1,如果Sn≥N1,则该扫描线为组成文本的扫描线;如果Sn<N1,则该扫描线为噪声或者空白,去除成行状分布的噪声,初步切分出文本的行区域。如图7所示的文本区域经过行切分后的效果示意图如图8所示。同时记录每一行的边界位置:左上点和右下点的坐标位置以及两条水平线之间的中线MiddleLine的位置,并计算出每个联体文本行的高度。
对于N1的设置需要注意以下几点:
(1)、如果文本图像的噪声比较小,N1可以设置得比较小,基本不影响行切分。例如,可以将N1设置为10。
(2)、如果文本图像的噪声比较大,图9所示,N1可以设置得比较大。如果N1设置得比较小,强一些的噪声就不会被消除,切分出的文本行区域就会不准确,如图10所示,所以必须将N1设置得比较大才能解决这个问题,可以将N1设置为60,切分后的效果如图11所示。
(3)、N1设置得比较大时,会影响字符数量较少的文本行。如果文本行的字符数量较少,该文本行中某些水平扫描线上的前景点数量就比较少,计算出的Sn值就较小,如果N1设置得比较大,会造成Sn<N1,易将该文本行的某些前景点视为噪声或者空白,如图12所示,最后一行只有一个汉字“战”,文本被错误地切分为2行或者更多行。可以通过两种途径解决这个问题:一是需要人工参与,比如根据文本图像的污染情况,手工设定阈值N1的大小;二是设定一个比较大的阈值进行切分,初步分析切分后的文本行间距、文本行的高度,查找异常数据,根据异常数据尝试合并文本行边界。如果合并后没有引起新的异常数据,则合并该异常数据对应的文本行边界,否则放弃。这样即可以摒除大部分的噪声干扰,同时还可以有效地消除数据高度序列、文本行间距序列中的异常数据。
S102、对二值化后的文本图像进行行切分的基础上,进行列切分的操作。
为了切分出文本的列区域,并且去除成列状分布的噪声,从左至右扫描文本图像,并计算每条纵向扫描线上的前景点的像素值之和Rn,其中Rn=R1+R2+...+Rj+...,其中j的范围为该文本行区域的上边界和下边界。设置阈值N2,如果Rj≥N2,则该扫描线为组成字符的扫描线,如果Rj<N2,则该扫描线为噪声或者空白,去除呈列状分布的噪声。由于对二值化后的文本图像进行了噪声去除处理,所以一般小的噪声不会影响文本列区域切分,所以可以设置N2为0。
这样每个字符都会有一个外接矩形框,字符的上下边界为该行的上下边界,左右边界为该字符的列切分点。
S103、获得包含每个字符所有黑色像素的最小外接矩形框。
由于每个字符的外接矩形框高度不一致,尤其是中英文字符高度的差异,将每个字符的外接矩形框进行向内收敛或者向外扩展,使得矩形框为包含字符所有黑色像素的最小外接矩形,从而得到一个包含若干个字符单元图像块的集合序列Ω,如图13所示。
S200、统计分析文本图像中所有矩形图像块的特征数据。
根据S103中得到的包含字符矩形图像块的集合序列Ω,统计分析文本图像中所有矩形图像块的特征数据,包括如下特征数据:
(1)、文本行的高度、中心线位置及文本行的平均行高
如图14所示,文本行的高度HL是指包含文字的两条水平线之间的距离;文本行的中心线MiddleLine是指两条水平线之间的中线所处的位置;统计所有文本行的高度HL,计算出文本区域的平均行高HLAVE。遍历S100中切分出的所有文本区域,计算相应的行高HL、中心线位置MiddleLine、以及文本区域的平均行高HLAVE。
(2)、字符单元图像块的平均高度
如图15所示,字符单元图像块的高度H是指每个字符单元最小外接矩形框的高度,统计所有字符单元最小外接矩形框的高度,计算出字符单元图像块的平均高度HeightAve。
(3)、字符单元图像块的平均宽度
如图16所示,字符单元图像块的宽度Width(简写W)是指每个字符单元最小外接矩形框的宽度。但是该字符不一定是一个合法字符,比如汉字的偏旁部首组成的字符或者字符间相互粘连组成的字符等,如图16中“报纸”和“到”,“报纸”是由于字符间相互粘连,将2个汉字字符组成了一个字符,“到”被分成了2个汉字的偏旁部首字符。
统计所有字符单元图像块的宽度分布特征,设x轴为字符单元图像块的宽度,y轴为该宽度值所对应的字符单元图像块的个数,类似于灰度图像的直方图统计。由于汉字字符基本上是方块字,汉字字符单元图像块的宽度不会比其高度大很多,故x轴的上限可以为文本区域的平均行高HLAVE的1.5倍。
普通文档中,汉字和英文/数字之间不会发生粘连。得到如上字符单元图像块宽度分布图后,由分布特征可以看出,会有两个相邻的宽度值数目聚集的区域,其中宽度大的聚集区是正常的汉字字符单元图像块的宽度值范围,宽度较小的聚集区是正常的英文或者数字字符单元图像块的宽度值范围。另外在该宽度分布图中,会有一些宽度值更大的区域或者更小的区域,其中,宽度值更大的区域是由包含粘连字符的字符单元图像块造成的,例如“报纸”,该字符单元图像块包含两个汉字字符,所以每个字符单元图像块的宽度值都较大;宽度值更小的区域可能是由包含汉字字符偏旁部首的字符单元图像块组成的,例如“川”字,被分割成三个字符,所以每个字符单元图像块的宽度值都较小。
在汉字字符的宽度值分布区间内,取局部的波峰值为汉字字符单元图像块的平均宽度ChnWidth;同样,在英文/数字字符的宽度值分布区间内,取局部的波峰值为英文/数字字符单元图像块的平均宽度EnWidth。
(4)、相邻字符单元图像块中心之间的距离
如图17所示,相邻字符单元图像块中心之间的距离Wave是指相邻字符最小外接矩形框中心之间的距离。
设x轴为相邻字符单元图像块中心之间的距离值,y轴为该距离值所对应的字符单元图像块的数目,得到字符单元图像块中心之间的距离值分布图后,由分布特征可以看出,会有两个相邻的距离值分布聚集的区域,其中,距离值比较大的区域对应的是汉字字符单元图像块聚集的区域,距离值比较小的是英文/数字字符单元图像块聚集的区域。
在汉字字符和英文/数字字符单元图像块聚集的区域内,分别找出局部的波峰值WaveCN和WaveEN。根据WaveCN和WaveEN,可以划定出相邻汉字字符单元图像块中心之间的距离范围为[(2*WaveCN+WaveEN)/3,(4*WaveCN-WaveEN)/3],相邻英文/数字字符单元图像块中心之间的距离范围为[(4*WaveEN-WaveCN)/3,(WaveCN+2*WaveEN)/3]。
(5)、相邻字符单元图像块之间的距离
如图18所示,字符单元图像块之间的距离Dis是指:同一文本行中相邻的两个字符单元图像块,前一个字符单元图像块的右边界到后一个字符单元图像块的左边界之间的距离。统计所有字符单元图像块之间的距离分布,得到该分布图后,可以看到一个明显的数目聚集的区域,该区域内既可能包括相邻的汉字字符单元图像块之间的距离,也可能包括相邻的英文/数字字符单元图像块之间的距离,因为相邻的汉字字符单元图像块之间的距离及相邻的英文/数字字符单元图像块之间的距离都很小,没有绝对的分界线。但是由分布特征可以看出,会有另外一个聚集区,是相邻的汉字字符和英文/数字字符单元图像块之间的距离,取其局部的波峰值DisChnAndEn,该聚集区的数目多少不固定,根据文档区域中英文混排的程度,可以划定出相邻中英文字符单元图像块之间的距离范围是[DisChnAndEn-Threshold,DisChnAndEn+Threshold],其中Threshold是一个给定的阈值,可以根据实际情况来设置。
S300、识别包含粘连字符的字符单元图像块,并继续切分包含粘连字符的字符单元图像块。
如果字符单元图像块的宽度大于汉字字符单元图像块的平均宽度,则确定出该字符为粘连字符。根据确定出的粘连字符单元图像块的高度与字符单元图像块的平均高度HeightAve进行比较,可以将粘连字符单元图像块划分为粘连汉字字符图像块和粘连英文字符图像块,下面分别对粘连汉字字符图像块和粘连英文字符图像块进行识别,并对包含粘连字符的字符单元图像块进行切分。
如果粘连字符单元图像块的高度与字符单元图像块的平均高度之差小于设定的阈值,则确定出该粘连字符为粘连汉字字符。一般来说,粘连汉字字符之间粘连处的纵向扫描线的前景点的个数最少,处在投影分布的波谷地段,所以,可以根据粘连字符纵向扫描线对应的前景点个数对该粘连汉字字符进行切分,下面结合图19对该具体过程进行详细说明:
S301、如果粘连字符单元图像块的高度与字符单元图像块的平均高度之差小于设定的阈值,则确定出该粘连字符为粘连汉字字符。
S302、记粘连字符单元图像块的上、下、左、右边界为分别为T、B、L、R,以L至R为横轴,T至B为纵轴,计算该粘连字符单元图像块纵向扫描线上黑色像素点的个数,将横坐标按照其对应的前景点个数的多少从小到大进行排序,得到一个关于位置的数组序列
S303、创建一个空的数组序列
将左边界L和右边界R的横坐标加入到
中,选择
中的第一个元素,按照位置的大小顺序插入到
中。
S304、计算
中两两相邻的位置之间的距离,如果距离都小于字符单元图像块的平均宽度,则执行S306;否则执行S305。
S305、选择
中的下一个元素,按照位置大小顺序插入到
中,重复S304的过程,直至
中两两相邻的位置之间的距离都小于字符单元图像块的平均宽度ChnWidth为止。
S306、以
中的位置为分割点,将粘连字符单元图像块进行分割,从而得到多个首尾重叠的子字符单元图像块,将每个字符的外接矩形框进行向内收敛或者向外扩展,使得矩形框为包含字符所有黑色像素的最小外接矩形。
S307、将粘连字符单元图像块从原来的序列Ω中删除,并将S306中得到的所有字符单元图像块插入到Ω中相同的位置上,从而得到一个新的字符单元图像块序列Ω1。
图20为图13部分区域放大后的效果示意图,图21为图20按照S300进行切分后的效果示意图。
如果粘连字符单元图像块的高度与字符单元图像块的平均高度之差大于设定的阈值,确定出该粘连字符单元图像块为英文/数字字符单元图像块,对于英文字符之间的粘连,需要考虑两种情况:
第一种情况,相邻字符图像间不粘连,但是无法用白竖线进行分割而造成的字符粘连,此时可以使用边缘跟踪算法,找出各自的连通区域即可对粘连字符进行切分。
第二种情况,相邻字符图像间存在粘连,可以利用字符的轮廓搜索所有可能的切分点,生成一系列的切分路径,根据英文切分评价挑选出最佳的切分路径对粘连字符进行切分。
S400、识别标点符号的字符单元图像块。
对于确定字符单元图像块中的字符为标点符号,需要考虑两种情况,只要满足下面的任一种情况,该字符就确定为标点符号:
第一种情况,若字符单元图像块的高度小于文本行行高的1/2,宽度小于等于该字符单元图像块的高度,且该字符单元图像块完全在MiddleLine的上面或者下面,则确定出该字符单元图像块中的字符为标点符号,例如“,”、“。”、“、”等标点符号;
第二种情况,若字符单元图像块的高度小于文本行行高,宽度小于ChnWidth/4,且该字符单元图像块与前后的字符单元图像块之间的距离值中,至少有一个值大于1.2*(DisChnAndEn+Threshold),即该距离已经超过了中英文字符单元图像块之间的距离范围的上限,则确定出该字符单元图像块中的字符为标点符号,例如“;”、“!”、“:”等标点符号。
S500、识别汉字字符单元图像块区域和英文字符单元图像块区域,并在汉字字符单元图像块区域中识别由汉字字符偏旁部首占用的字符单元图像块;将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块。
该步骤可以针对每个文本行区域分别进行处理,首先在每一个文本行中找到所有标点符号,然后依次处理每两个标点符号之间的字符单元图像块,结合图22对该具体过程进行详细说明:
S501、记录两个标点符号之间起始字符单元图像块在整行中的索引值为IndexBegin和IndexEnd。
S502、遍历索引值处于IndexBegin和IndexEnd之间所有的字符单元图像块,根据汉字字符单元图像块的高度大于HeightAve,宽度大于ChnWidth*0.8,按照从前至后的顺序,查找出第一个汉字字符单元图像块O,并记录该汉字字符单元图像块在整行中的索引值Index。
S503、以汉字字符单元图像块O为基准,依次往前搜索,并记字符单元图像块C为当前的汉字字符单元图像块,搜索到索引值IndexBegin的字符单元图像块,具体的处理过程为:
如果当前汉字字符单元图像块C的索引值为IndexBegin,则执行S507;
否则,取出当前汉字字符单元图像块C前面的一个字符单元图像块C1,计算C与C1之间的距离Dis,若Dis落在区间[DisChnAndEn-Threshold,DisChnAndEn+Threshold]中,则表明C1为英文字符单元图像块,直接将该字符单元图像块加入切分结果序列,并将C1视为新的当前英文字符单元图像块C,执行S506;否则执行S504。
S504、考察汉字字符单元图像块C1前面的字符C2是否为其偏旁部首,具体包括:
计算C1与C2中心之间的距离Dis1,如果Dis1落在区间范围[(2*WaveCN+WaveEN)/3,(4*WaveCN-WaveEN)/3]中,表明C2不是C1的偏旁部首,而是一个独立的汉字字符单元图像块,执行S505;否则继续下面的过程:
如果Dis1没有落在区间范围[(2*WaveCN+WaveEN)/3,(4*WaveCN-WaveEN)/3]中,将C1和C2合并为一个新的字符单元图像块O1;
考察C2前面的字符单元图像块C3,计算O1和C3中心之间的距离Dis2,如果Dis2落在区间范围[(2*WaveCN+WaveEN)/3,(4*WaveCN-WaveEN)/3]中,则表明C3为一个独立的汉字字符单元图像块,则将O1加入到切分结果序列中,O1被视为新的当前汉字字符单元图像块C,其具体实施过程与S503的相关描述雷同,此处不再作详细描述;
如果Dis2没有落在区间范围[(2*WaveCN+WaveEN)/3,(4*WaveCN-WaveEN)/3]中,则C3肯定不是一个独立的汉字字符单元图像块,它有可能是O1中字符的偏旁部首,也有可能是C3前面的字符单元图像块C4中字符的偏旁部首;
计算C3与C4合并后字符单元图像块的宽度Width1,以及C3与O1合并后字符单元图像块的宽度Width2;
如果Width1的宽度小于Width2的宽度,则C3再次被O1合并,然后将O1加入到切分结果序列中,O1被视为新的当前汉字区域C,其具体实施过程与S503的相关描述雷同,此处不再作详细描述;
如果Width1的宽度大于Width2的宽度,直接将O1加入到切分结果序列中,O1被视为新的当前汉字区域C,其具体实施过程与S503的相关描述雷同,此处不再作详细描述。
S505、将C1直接加入到切分结果序列中,并将C1视为新的当前汉字字符单元图像块C,其具体实施过程与S503的相关描述雷同,此处不再作详细描述。
S506、如果当前英文字符单元图像块的索引值为IndexBegin,则直接转向S507,否则,取出当前英文字符单元图像块C前面的一个字符单元图像块C1,计算C与C1中心之间的距离Dis,若Dis落在区间[(4*WaveEN-WaveCN)/3,(WaveCN+2*WaveEN)/3]中,则表明C1为英文字符单元图像块,直接将该字符单元图像块加入切分结果序列,并将C1视为新的当前英文字符单元图像块,并且重复此过程,否则转向S504;
S507、以汉字字符单元图像块O为基准,依次往后搜索,并记字符单元图像块C为当前的汉字字符单元图像块,搜索到索引值IndexEnd的字符单元图像块,具体实施过程与S503中的相关描述雷同,此处不再作详细描述。
按照上述的方法步骤,依次处理完整个文本图像中所有的文本行区域,得到最终的字符区域切分结果,其中,图23为对图22按照S500进行切分后的效果示意图。
图24为采用本发明实施例提供的方法将图13进行切分后的最终字符区域切分结果示意图,可以看出,本发明实施例提供的字符切分方法保证字符切分结果的正确性,解决了字符间的粘连及偏旁部首被当作一个独立字符的问题。
本发明第二实施例提供了一种字符切分装置,该字符切分装置的结构参见图25,包括,初步切分单元2501、粘连字符切分单元2502、识别偏旁部首单元2503和字符合并单元2504。
其中,初步切分单元2501,用于对文本图像进行行切分和列切分,获得若干个字符单元图像块;
粘连字符切分单元2502,用于识别包含粘连字符的字符单元图像块,并继续切分包含粘连字符的字符单元图像块;
识别偏旁部首单元2503,用于识别汉字字符单元图像块区域和英文字符单元图像块区域,并在汉字字符单元图像块区域中识别由汉字字符偏旁部首占用的字符单元图像块;
字符合并单元2504,用于将相邻的汉字字符的偏旁部首占用的字符单元图像块合并为一个字符单元图像块。
其中,粘连字符切分单元2502具体用于,当字符单元图像块的宽度大于汉字字符单元图像块的平均宽度,且该字符单元图像块的高度与字符单元图像块的平均高度的差值小于设定的阈值时,确定字符单元图像块包含粘连汉字字符,或者
当字符单元图像块的宽度大于汉字字符单元图像块的平均宽度,且该字符单元图像块的高度与字符单元图像块的平均高度的差值大于设定的阈值时,确定字符单元图像块包含粘连英文字符。
识别偏旁部首单元2503具体用于,当字符单元图像块的高度大于字符单元图像块的平均高度,宽度大于汉字字符单元图像块的平均宽度的4/5时,.确定字符单元图像块包含汉字字符;
当汉字字符单元图像块与前一字符单元图像块之间的距离处于相邻中英文字符单元图像块之间的距离范围之外时,将前一字符作为当前字符;
当当前字符单元图像块与前一字符单元图像块中心之间的距离处于相邻汉字字符单元图像块中心之间的距离范围之外时,确定当前字符与前一字符均为偏旁部首字符。
进一步,该字符切分装置还包括识别标点符号单元2505,用于当字符单元图像块的宽度小于等于该字符单元图像块的高度,且该字符单元图像块完全在文本行中心线位置的上面或者下面时,确定字符单元图像块包含标点符号,或者
当字符单元图像块的高度小于文本行的高度,宽度小于汉字字符单元图像块平均宽度的1/4,且该字符单元图像块与其相邻的前一字符单元图像块或后一字符单元图像块之间的距离值中,至少有一个距离值大于相邻中英文字符单元图像块之间距离范围的上限时,确定字符单元图像块包含标点符号。
本发明实施例保证了字符切分结果的正确性,使得字符切分结果不用过分依赖于字符识别反馈机制,进一步提高了字符的识别率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。