一种字符切分的方法和装置
技术领域
本发明涉及图像识别及处理技术领域,尤其涉及一种字符切分的方法和装置。
背景技术
一般情况下,针对某种类型的字符,例如文档影像中的中文字符、字母和数字,都会通过专门的独立算法进行专门的切分,因为这样的切分准确度最高。例如专门通过算法A来实现对汉字的切分,通过算法B对字母和数字切分,当出现数字、字母和中文字符混排的情况时,再写一个算法C专门处理这种情况。
这样处理存在两个问题,第一是没有办法做到通用切分,不能使用一种方法来保证各种字符切分的准确度;第二是在实际使用各种切分方法时,有时候并不能预先确定一行字符的具体类型,一行字符可能有时候是全汉字类型,有时候是混排类型,当不能确定字符的具体类型时,就不能选用对应的具体算法来进行切分。
也有研究人员曾提出一种基于识别反馈的粘连字符切分的方法,主要是针对粘连字符的切分处理,该方法具体实现的流程图如图1所示,主要通过搜索可能的切分位置,也就是找到可能的粘连字符,把粘连字符提取出来,然后进行切分和辨认,通过调用识别模块对粘连字符进行识别,根据反馈结果找出可靠度最大的切分点。
这种方法主要有以下缺点:一是仅针对粘连字符来进行切分,不具有通用性;二是该方法并不支持多个识别引擎的反馈,很多时候一个识别引擎的识别结果可能不是最优的,在不同的情况下,不同的识别引擎表现不同;三是该方法只是对给定的一个粘连字符进行切分,没有考虑到粘连字符本身可能并不是由两个独立的字符粘连到一起,他们可能是其他字符的组成部分,即使这些字符被切分开了,由于没有合并,那么这些字符也不能正确定位;四是粘连字符切分过程中要确定是汉字粘连还是字母数字粘连,一种粘连切分失败后,在去判断另外一种类型的粘连,并且把切分正确与否的决定权完全交给了识别模块,这对识别模块提出了很高的要求。实际上我们使用识别模块的时候识别率并不是100%的;五是由于该方法只是考虑了单个粘连字符的处理,因此在实际应用中只能作为字符切分方法的一部分,并不是一个完整的技术方案。
发明内容
本发明的目的是提出的一种字符切分的方法和装置,能够解决图像中一行字符的通用切分问题,适用的字符类型包括中文字符、数字和字母。本发明通过充分利用单字字符本身的特征、字符之间间距的特征、单字识别核心库的特征以及整体合并拆分策略来实现用通用的处理方式对汉字、数字和英文字母的任意组合进行识别切分。
本发明的思想在于,对图像中的一行字符进行预处理及初步切分,对初步切分过的每一个字符计算匹配分数,建立行内所有字符的字符匹配表,每一个字符或者字符组合得到的识别结果都允许由多个识别器来确定,这样增强了准确性。最终的切分点以字符匹配表为基础,以一行内所有字符的匹配分数最高为原则来确定。
为达此目的,本发明采用以下技术方案:
本发明的一个方面,提供了一种字符切分的方法,包括步骤:
A、输入待处理的图像,将所述图像转换成二值或灰度图像;
B、利用提取连通域或投影方法对图像中的一行字符进行第一次切分;
C、对于第一次切分后得到的字符按照预定规则进行拆分和/或合并;
D、对于经过步骤C处理后得到的每个字符计算匹配分数,建立一个二维的字符匹配表。
E、按照一行内所有字符加起来匹配分数最高的规则确定每个字符的切分点,进行第二次切分,得到最终切分结果。
上述技术方案中,优选地,还包括步骤:
F、对步骤E得到的最终切分结果进行聚类处理,去掉干扰字符。
上述技术方案中,优选地,所述步骤A还包括去黑边和去噪处理。
上述技术方案中,优选地,所述步骤C中的预定规则具体为:
当一个字符的最大宽度超过了第一预设值时,对这个字符进行拆分处理;
当两个相邻字符的重合度大于第二预设值时,对这两个相邻字符进行合并处理。
上述技术方案中,优选地,所述步骤D中计算字符的匹配分数具体包括以下步骤:
步骤一:首先,将第i个字符到第j个字符进行合并,并设置Aij的初始值Aij=0;
步骤二:如果合并后的字符宽度大于所述第一预设值时转至步骤八,否则继续执行步骤三;
步骤三:根据合并后的字符的外部信息及所有的识别引擎的信息确定合并后的字符类型A;
步骤四:用一个还未参与过本次合并字符识别的识别引擎对所述合并后的字符进行识别,得到识别结果,确定合并后的字符类型B;如果所有识别引擎都参与了识别,转步骤八;
步骤五:如果A和B相同,则根据本次识别结果的置信度信息和合并字符的外部信息得到合并后的字符的本次匹配分数Bij;如果A和B不同转步骤四;
步骤六:取Aij和Bij中较大值作为第i个字符的匹配分数;
步骤七:重复步骤四-步骤六;
步骤八:Aij计算完成。
上述技术方案中,优选地,还包括步骤:
用其他的识别引擎,分别重复识别步骤并计算匹配分数,比较得到的各个匹配分数,取最大的匹配分数作为第i个字符的匹配分数;
其中,当识别引擎的置信度信息表示不统一时,预先对置信度信息进行归一化处理。
根据本发明的另一个方面,还提供了一种字符切分的装置,包括图像预处理单元、字符第一次切分单元、字符拆分合并单元、匹配分数计算单元和字符第二次切分单元,上述单各元依次连接,其中
所述图像预处理单元,用于输入待处理的图像,将所述图像转换成二值或灰度图像;
所述字符第一次切分单元,用于利用提取连通域或投影方法对图像中的字符进行第一次切分;
所述字符拆分合并单元,用于对于第一次切分后得到的不少于一个的字符按照预定规则进行拆分和/或合并;
所述匹配分数计算单元,用于对于经过第一次切分后得到的字符,建立一个二维的字符匹配表并计算每一个字符的匹配分数;
所述字符第二次切分单元,用于按照一行内所有字符加起来匹配分数最高的规则确定所述剩余的字符的切分点,进行第二次切分,得到最终切分结果。
上述技术方案中,优选地,还包括聚类单元,用于对步骤E得到的最终切分结果进行聚类处理,去掉干扰字符。
上述技术方案中,优选地,所述图像预处理单元还用于去黑边和去噪处理。
上述技术方案中,优选地,所述第一次切分单元进一步用于:
当一个字符的最大宽度超过了第一预设值时,对这个字符进行拆分处理;
当两个相邻字符的重合度大于第二预设值时,对这两个相邻字符进行合并处理。
采用了本发明的技术方案,能够实现对图像中中文字符、英文字符和数字字符三种字符任意排列情况下的切分,使得在实际应用中不用根据字符类型去选择切分算法,对于模板化的系统带来了便利。同时本发明具有很强的扩展性,如果需要对其他类型的字符进行切分,只需要描述准确该类型字符的特征,如宽高比,字符间距等,并且有相应的识别引擎作支持即可。
附图说明
图1是本发明现有技术的流程图。
图2是本发明中具体实施方式中一种字符切分方法的流程图。
图3是本发明中具体实施方式中匹配分数计算的流程图。
图4是本发明中具体实施方式中一种字符切分装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图2是本发明具体实施方式中一种字符切分的方法的流程图。如图2所示,该字符切分方法包括以下步骤:
步骤201:输入待处理的图像,将所述图像转换成二值或灰度图像。
图像预处理的目的是将给定图像处理成初步的字符切分时需要的二值或者灰度图像类型,同时可能包括去黑边,去噪等操作。
步骤202:在给定图像进行预处理之后,利用提取连通域或者投影的算法或者其他方法来对字符进行初步切分。
字符初步切分后,可能的情况是,一些字符切分成了单个字符;一些字符可能发生了粘连,例如两个或者多个字符被切分成了一个字符;一个字符被切分成了多个字符,如一个汉字可能被切分成了两个或者多个字符。
步骤203:对于初始切分后的字符即步骤202完成后的结果,进行初步的拆分和合并。
本步骤里,拆分规则是根据已知条件中给定的每个字符最大的高度和宽度来进行的,当一个字符的最大宽度超多了要求的最大宽度那么这个字符一定要进行拆分。合并的规则是根据字符的重合度来进行的,当两个字符的重合度大于50%,那么这两个字符必须进行合并。
步骤204:经过步骤203的处理后,所剩下的字符就是不能确定是保留,还是进行拆分或者合并操作,这个时候我们就建立一个二维的字符匹配表来计算每一个字符与其它字符的匹配情况。
假设经过步骤203的处理后,一共有5个字符,那么我们需要计算以下表格中所列的数据:
A11 |
A12 |
A13 |
A14 |
A15 |
A21 |
A22 |
A23 |
A24 |
A25 |
A31 |
A32 |
A33 |
A34 |
A35 |
A41 |
A42 |
A43 |
A44 |
A45 |
A51 |
A52 |
A53 |
A54 |
A55 |
下面对上表进行说明:
1)Aij的意义是指合并第i个字符到第j个字符包括i和j之间的所有字符的匹配分数;
2)根据Aij的意义描述可知:红色部分的数据是不需要计算的,只需要计算红色区域以外的数据,因为Aij=Aji;
3)Aij的取值范围为0-100;
4)Aij的计算方式(含i=j的情况)如下:
a)如果合并第i个字符至第j个字符后超出了我们要求的字符的参数范围,例如合并宽度超过了我们要求的最大字符宽度则Aij=0;
b)通过合并字符本身的特征(宽、高、字符间距等)以及识别引擎识别结果的置信度来确定一个最优结果,所述识别引擎识别结果的置信度就是对于识别成功的每个字符,识别引擎给出的一个置信度的值,用来描述识别结果的可靠性。
Aij的计算是本发明的核心,下面对Aij如何计算具体说明,如图3所示:
步骤一:首先,将第i个字符到第j个字符进行合并,并设置Aij的初始值Aij=0;
步骤二302:如果合并后的字符宽度大于所述第一预设值时转步骤八308。否则继续执行步骤三303;
步骤三303:根据合并后的字符的外部信息及所有的识别引擎的信息确定合并后的字符类型A;
步骤四304:用一个还未参与过本次合并字符识别的识别引擎对所述合并后的字符进行识别,得到识别结果,确定合并后的字符类型B;如果所有识别引擎都参与了识别,转步骤八308;
步骤五305:如果A和B相同,则根据本次识别结果的置信度信息和合并字符的外部信息得到合并后的字符的本次匹配分数Bij;如果A和B不同转步骤四304。;
步骤六306:取Aij和Bij中较大值作为第i个字符的匹配分数;
步骤七307:重复步骤四304-至步骤六306;
步骤八308:Aij计算完成。
在上述计算Aij过程中,每一个识别引擎里都要描述可以识别的字符类型,以及该字符类型的外部信息。
当使用多个识别引擎时,如果识别结果的置信度表示不统一,需要先对识别结果的置信度表示进行归一化。
步骤205:按照一行内所有字符加起来匹配分数最高的规则确定一行内所有字符的切分点,进行第二次切分,得到最终切分结果。
建立了字符匹配表之后就要根据字符匹配表来确定切分点。确定切分点的原则是保证全局最优。就是说我们确定的切分结果必须保证一行内所有字符加起来的匹配分数最高。这里需要注意的是一般来讲一个字符不会被切分超过5部分,因此在确定一行字符切分点的时候最多只要判断到5个字符合并的情况就可以了。
在另一个优选的具体实施方式中,还可以在步骤205之后增加一个步骤206,用于去除切分结果中的干扰字符。
步骤206:步骤205完成后,字符的切分结果已经出来了,但是可能存在一些并非真正的字符,而是干扰,因此在本步骤对所有字符进行聚类,去掉干扰字符,并输出最终字符切分结果。
对字符进行聚类是指我们可以根据外部条件来对已经切分好的字符进行分类,比如我们可以将宽高比为1∶1的字符分为一类,不满足这个条件的分为另一类。通过聚类操作,我们可以最终只选用我们需要的那一类字符。
另外,关于字符匹配表的计算方式,可以考虑不使用识别核心的反馈结果,因为使用识别核心进行识别,会有一个识别置信度的结果,在计算Aij时要考虑这个置信度,如果不用识别核心的反馈,那么计算Ai j时就可以只考虑其他的因素了。
本发明的另一个方面,还提供了一种字符切分的装置,包括图像预处理单元401、字符第一次切分单元402、字符拆分合并单元403、匹配分数计算单元404和字符第二次切分单元405,上述单各元依次连接,其中
所述图像预处理单元401,用于输入待处理的图像,将所述图像转换成二值或灰度图像,优选地,该单元还用于去黑边和去噪处理。
所述字符第一次切分单元402,用于利用提取连通域或投影方法对图像中的字符进行第一次切分;本具体实施方式中切分规则具体为,当一个字符的最大宽度超过了第一预设值时,对这个字符进行拆分处理;当两个相邻字符的重合度大于第二预设值时,对这两个相邻字符进行合并处理。
所述字符拆分合并单元403,用于对于第一次切分后得到的不少于一个的字符按照预定规则进行拆分和/或合并;
所述匹配分数计算单元404,用于对于经过第一次切分后得到的字符,建立一个二维的字符匹配表并计算每一个字符的匹配分数;
所述字符第二次切分单元405,用于按照一行内所有字符加起来匹配分数最高的规则确定所述剩余的字符的切分点,进行第二次切分,得到最终切分结果。
上述技术方案中,另一种优选方式中,还包括聚类单元406,用于对得到的最终切分结果进行聚类处理,去掉干扰字符。
在对单一类型的字符进行切分的时候,不使用识别核心的反馈可以提高字符切分速度,但是有识别核心的反馈结果无疑会提高切分的准确率。在实际使用本发明的时候可以根据速度和性能的要求情况作一个平衡。
本发明能够提高字符切分的准确性,并且由于其通用性,替代了之前单独字符类型的字符切分算法使得识别系统的模板化更加容易。在证件识别系统中本算法对字符切分的测试结果如下:
本发明的有益效果在于:
成功的实现了中文字符,英文字符,数字字符三种字符任意排列情况下的切分,使得我们在实际应用中不用根据字符类型去选择切分算法,对于模板化的系统带来了便利。同时本发明具有很强的扩展性,如果需要对其他类型的字符进行切分,只需要描述准确该类型字符的特征(如宽高比,字符间距等),并且有相应的识别引擎作支持即可。本方法采用了全局最优的原则来确定切分点,而不是仅仅根据单个字符的匹配结果来确定切分点,从而保证了整体的切分效果。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。