字符切割方法、装置及电子设备的制作方法
【专利摘要】本申请实施例公开了一种字符切割方法、装置及电子设备,所述方法包括:获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块;获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置;根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。本申请综合历史图像的识别结果辅助对当前帧图像的错误切割区域进行确定,进而在对错误切割区域进行再次切割时,可以减少对当前帧图像进行切割的盲目性,提高切割准确性以及切割效率。
【专利说明】字符切割方法、装置及电子设备
【技术领域】
[0001]本申请涉及图像识别【技术领域】,特别是涉及一种字符切割方法、装置及电子设备。【背景技术】
[0002]OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或相机等)检查纸上或其它物体上的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。
[0003]目前OCR的字符切割技术主要有基于识别反馈的字符切割技术,该技术首先对单帧图像进行预处理,包括二值化、平滑、去噪等,然后进行字符切割,在切割后利用识别器对切割结果进行识别,并使用识别结果作为评价当前切割结果正确与否的依据,如果切割结果无法识别,则认为当前切割结果错误,然后尝试另外一种切割方法对单帧图像中的字符重新切割,直到找到可以识别的切割结果,或者,尝试次数超过预设次数后,重新获取另一帧图像,并重复上述过程。
[0004]由于每次切割存在较大的盲目性,对单帧图像完成一次字符识别往往需要进行多次尝试切割以及识别,甚至可能是切割正确,但识别器识别错误,也需要再次切割,而每次识别过程中运算量非常大,耗时较长。所以基于识别反馈的字符切割技术效率低,无法满足识别的实时性要求。
【发明内容】
[0005]本申请提供了一种字符切割方法、装置及电子设备,以解决相关技术字符切割存在效率低的问题。
[0006]为了解决上述技术问题,本申请公开了如下技术方案:
[0007]第一方面,本申请提供了一种字符切割方法,所述方法包括:获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块;获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置;根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
[0008]结合第一方面,在第一方面第一种可能的实现方式中,所述方法还包括:获取所述错误切割区域内的过切分字符块和粘连字符块;对所述过切分字符块和粘连字符块进行切表I],得到目标切割结果。
[0009]结合第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,所述获取所述错误切割区域内的过切分字符块和粘连字符块,包括:获取目标二值化参数,所述目标二值化参数包括:历史图像的识别结果中的字符平均高度;利用所述目标二值化参数对所述当前识别结果进行二值化处理;获取所述当前识别结果和历史识别结果中的字符置信宽度;根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度;根据所述目标字符置信宽度获取二值化处理后所述当前识别结果中所述错误切割区域内的过切分字符块和粘连字符块。
[0010]结合第一方面第二种可能的实现方式,在第一方面第三种可能的实现方式中,所述根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度,包括:统计所述当前识别结果和历史识别结果中字符置信宽度下限值之间的关系以及上限值之间关系;当第一数量小于第二数量时,按照预设第一修正值减小所述当前识别结果中字符置信宽度上限值和下限值,得到目标字符置信宽度;当第一数量大于第二数量时,按照预设第二修正值增大所述当前识别结果中的字符置信宽度的上限值和下限值,得到目标字符置信宽度;其中,所述第一数量是指字符置信宽度下限值小于所述当前识别结果中字符置信宽度下限值的历史识别结果的数量,第二数量是指字符置信宽度上限值大于所述当前识别结果中字符置信宽度上限值的历史识别结果的数量。
[0011]结合第一方面第一种可能的实现方式,在第一方面第四种可能的实现方式中,所述对所述过切分字符块和粘连字符块进行切割,得到目标切割结果,包括:获取对所述当前识别结果进行历史切割时对应的历史波峰波谷比例值;根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点;在所述目标切割点对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
[0012]结合第一方面第四种可能的实现方式,在第一方面第五种可能的实现方式中,所述根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,包括:获取所述粘连字符块的第一目标切割区域,所述第一目标切割区域的中心位置与所述粘连字符块起点之间距离等于所述目标字符置信宽度;根据所述历史波峰波谷比例值在所述第一目标切割区域内查找是否存在波谷;当不存在波谷时,调低所述历史波峰波谷比例值,得到第一参考波峰波谷比例值;利用所述第一参考波峰波谷比例值,查找所述第一目标切割区域是否存在波谷,直至找到波谷;当存在波谷时,将查找到的波谷所在位置确定为所述粘连字符块的目标切割点。
[0013]结合第一方面第五种可能的实现方式,在第一方面第六种可能的实现方式中,所述根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,还包括:判断对波峰波谷比例值的调整次数是否大于预设次数阈值;当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向的轴上投影像素点数量最小的位置确定为目标切割点。
[0014]结合第一方面第四种可能的实现方式,在第一方面第七种可能的实现方式中,所述据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,包括:获取所述过切分字符块的第二目标切割区域,所述第二目标切割区域的中心位置与所述过切分字符块起点之间距离等于所述目标字符置信宽度;根据所述历史波峰波谷比例值在所述第二目标切割区域内查找是否存在波谷;当存在波谷时,调高所述历史波峰波谷比例值,得到第二参考波峰波谷比例值;利用所述第二参考波峰波谷比例值,查找所述第二目标切割区域是否存在波谷,直至找不到波谷;当不存在波谷时,将最后一次调整波峰波谷比例值前找到的波谷所在位置确定为所述过切分字符块的目标切割点。
[0015]结合第一方面第七种可能的实现方式,在第一方面第八种可能的实现方式中,所述根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,还包括:判断对波峰波谷比例值的调整次数是否大于预设次数阈值;当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向的轴上投影像素点数量最小的位置确定为目标切割点。
[0016]结合第一方面第一种可能的实现方式,在第一方面第九种可能的实现方式中,所述方法还包括:判断是否接收到用户输入的操作请求,所述操作请求包括:二次扫描请求、重试请求或取消识别请求;当接收到所述操作请求时,获取所述目标切割结果的置信度,并降低所述置信度作为所述目标切割结果的目标置信度;当未接收所述操作请求时,输出所述目标切割结果。
[0017]结合第一方面或第一方面第一种至第九种任意一个可能的实现方式,在第一方面第十种可能的实现方式中,所述根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域,包括:根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同;将所述字符块不同区域确定为错误切割区域。
[0018]结合第一方面或第一方面第一种至第九种任意一个可能的实现方式,在第一方面第十一种可能的实现方式中,所述根据每个字符块的置信度信息和位置,获取所述当前识别结果中的错误切割区域,包括:根据所述当前识别结果中字符块的置信度信息,获取所述当前识别结果中置信度小于预设阈值的字符块;将置信度小于预设阈值的字符块所在区域,确定为错误切割区域;根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同;将所述字符块不同区域确定为错误切割区域。
[0019]结合第一方面第十一种可能的实现方式,在第一方面第十二种可能的实现方式中,所述将置信度小于预设阈值的字符块所在区域确定为错误切割区域,包括:判断是否存在至少两个置信度小于预设阈值的字符块所在区域相邻;当至少两个置信度小于预设阈值的字符块所在区域相邻时,合并位置相邻且置信度小于预设阈值的字符块;将合并后的字符块的区域和未合并的置信度小于预设阈值的字符块所在区域确定为错误切割区域。
[0020]第二方面,本申请提供了一种字符切割装置,包括:识别结果获取单元,用于获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块;字符块信息获取单元,用于获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置;错误切割区域获取单元,用于根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
[0021]结合第二方面,在第二方面第一种可能的实现方式中,所述装置还包括:第一字符块获取单元,用于获取所述错误切割区域内的过切分字符块和粘连字符块;切割单元,用于对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
[0022]结合第二方面第一种可能的实现方式,在第二方面第二种可能的实现方式中,所述第一字符块获取单元包括:目标二值化参数获取子单元,用于获取目标二值化参数,所述目标二值化参数包括:历史图像的识别结果中的字符平均高度;二值化处理子单元,用于利用所述目标二值化参数对所述当前识别结果进行二值化处理;字符置信宽度获取子单元,用于获取所述当前识别结果和历史识别结果中的字符置信宽度;目标字符置信宽度获取子单元,用于根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度;第一字符块获取子单元,用于根据所述目标字符置信宽度获取二值化处理后所述当前识别结果中所述错误切割区域内的过切分字符块和粘连字符块。
[0023]结合第二方面第二种可能的实现方式,在第二方面第三种可能的实现方式中,所述目标字符置信宽度获取子单元包括:统计模块,用于统计所述当前识别结果和历史识别结果中字符置信宽度下限值之间的关系以及上限值之间关系;数量比较模块,用于比较第一数量与第二数量的大小;字符置信宽度调整模块,用于当第一数量小于第二数量时,按照预设第一修正值减小所述当前识别结果中字符置信宽度上限值和下限值,得到目标字符置信宽度;当第一数量大于第二数量时,按照预设第二修正值增大所述当前识别结果中的字符置信宽度的上限值和下限值,得到目标字符置信宽度;其中,所述第一数量是指字符置信宽度下限值小于所述当前识别结果中字符置信宽度下限值的历史识别结果的数量,第二数量是指字符置信宽度上限值大于所述当前识别结果中字符置信宽度上限值的历史识别结果的数量。
[0024]结合第二方面第一种可能的实现方式,在第二方面第四种可能的实现方式中,所述切割单元包括:比例值获取子单元,用于获取对所述当前识别结果进行历史切割时对应的历史波峰波谷比例值;目标切割点获取子单元,用于根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点;切割子单元,用于在所述目标切割点对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
[0025]结合第二方面第四种可能的实现方式,在第二方面第五种可能的实现方式中,所述目标切割点获取子单元包括:目标切割区域获取模块,用于获取所述粘连字符块的第一目标切割区域和获取所述过切分字符块的第二目标切割区域,所述第一目标切割区域的中心位置与所述粘连字符块起点之间距离等于所述目标字符置信宽度,所述第二目标切割区域的中心位置与所述过切分字符块起点之间距离等于所述目标字符置信宽度;波谷查找模块,用于根据所述历史波峰波谷比例值在所述第一目标切割区域内或第二目标切割区域内查找是否存在波谷;比例值调整模块,用于当所述第一目标切割区域内不存在波谷时,调低所述历史波峰波谷比例值,得到第一参考波峰波谷比例值;当所述第二目标切割区域内存在波谷时,调高所述历史波峰波谷比例值,得到第二参考波峰波谷比例值;所述波谷查找模块还用于利用所述第一参考波峰波谷比例值,查找所述第一目标切割区域是否存在波谷,直至找到波谷,或者,利用所述第二参考波峰波谷比例值,查找所述第二目标切割区域是否存在波谷,直至找不到波谷;第一目标切割点确定模块,用于当利用第一参考波峰波谷比例值查找到波谷时,将查找到的波谷所在位置确定为所述粘连字符块的目标切割点,或者,利用所述第二参考波峰波谷比例值查找不到波谷时,将最后一次调整波峰波谷比例值前找到的波谷所在位置确定为所述过切分字符块的目标切割点。
[0026]结合第二方面第五种可能的实现方式,在第二方面第六种可能的实现方式中,所述目标切割点获取子单元还包括:次数判断模块,用于判断对波峰波谷比例值的调整次数是否大于预设次数阈值;第二目标切割点确定模块,用于当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向上投影像素点数量最小的位置确定为目标切割点。
[0027]结合第二方面第一种可能的实现方式,在第二方面第七种可能的实现方式中,所述装置还包括:操作请求接收单元,用于接收用户输入的操作请求,所述操作请求包括:二次扫描请求、重试请求或取消识别请求;请求判断单元,用于判断是否接收到用户输入的操作请求;目标置信度确定单元,用于当接收到所述操作请求时,获取所述目标切割结果的置信度,并降低所述置信度作为所述目标切割结果的目标置信度;输出单元,用于当未接收所述操作请求时,输出所述目标切割结果。
[0028]结合第二方面或第二方面第一种至第七种任意一个可能的实现方式,在第二方面第八种可能的实现方式中,所述错误切割区域获取单元包括:字符块不同区域获取子单元,用于根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同;第一错误切割区域确定子单元,用于将所述字符块不同区域确定为错误切割区域。
[0029]结合第二方面或第二方面第一种至第七种任意一个可能的实现方式,在第二方面第九种可能的实现方式中,所述错误切割区域获取单元包括:第二字符块获取单元,用于根据所述当前识别结果中字符块的置信度信息,获取所述当前识别结果中置信度小于预设阈值的字符块;第二错误切割确定子单元,用于将置信度小于预设阈值的字符块所在区域,确定为错误切割区域;字符块不同区域获取子单元,用于根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同;第一错误切割区域确定子单元,用于将所述字符块不同区域确定为错误切割区域。
[0030]结合第二方面第九种可能的实现方式,在第二方面第十种可能的实现方式中,第二错误切割确定子单元包括:相邻区域判断模块,用于判断是否存在至少两个置信度小于预设阈值的字符块所在区域相邻;区域合并模块,用于当至少两个置信度小于预设阈值的字符块所在区域相邻时,合并位置相邻且置信度小于预设阈值的字符块;第二错误切割确定模块,将合并后的字符块的区域和未合并的置信度小于预设阈值的字符块所在区域确定为错误切割区域。
[0031]第三方面,本申请还提供了一种电子设备,包括:包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上指令包含用于进行以下操作的指令:获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块;获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置;根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
[0032]由于在进行OCR识别扫描的过程中,目标区域一般会连续的出现于多个连续的帧之内,即目标区域的多帧图像识别后得到的识别结果之间具有一定的关联性。
[0033]本申请的有益效果至少包括:在对当前帧图像的识别结果进行切割时,通过获取当前帧图像和至少一帧历史图像的识别结果中每个字符块的置信度和位于图像中的位置,可以利用多帧图像识别结果之间的关联性,确定当前帧图像的识别结果中存在的错误切割区域。因此,本申请综合历史图像的识别结果辅助对当前帧图像的错误切割区域进行确定,进而在对错误切割区域进行再次切割时,可以减少对当前帧图像进行切割的盲目性,提高切割准确性以及切割效率。
【专利附图】
【附图说明】[0034]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本申请一个实施例提供的字符切割方法的流程示意图;
[0036]图2为本申请实施例提供的字符切割方法的应用场景图;
[0037]图3为图1中步骤S103的一种流程示意图;
[0038]图4为图1中步骤S103的另一种流程示意图;
[0039]图5为图2中卡上目标区域的灰度图像;
[0040]图6为目标区域的灰度图像进行二值化后得到的二值化图像;
[0041]图7为图6所示的二值化图像中的连通域示意图;
[0042]图8为图6所不的二值化图像进行初步切割的不意图;
[0043]图9为对目标区域的灰度图像进行初步切割后的识别结果示意图;
[0044]图10为本申请另一实施例提供的字符切割方法的流程示意图;
[0045]图11为图4中步骤S104的一种流程示意图;
[0046]图12为图4中步骤S105的一种流程示意图;
[0047]图13为本申请实施例提供的二值化后图像像素投影的示意图;
[0048]图14为当前帧图像的前一帧图像对应的识别结果的示意图;
[0049]图15为当前帧图像的前两帧图像对应的识别结果的示意图;
[0050]图16为当前帧图像前三帧图像对应的识别结果的示意图;
[0051]图17为对当前帧图像的当前识别结果再次切割后得到的目标识别结果的示意图;
[0052]图18为本申请又一个实施例提供的字符切割方法的流程示意图;
[0053]图19为本申请一实施例提供的字符切割装置的结构示意图;
[0054]图20为本申请另一实施例提供的字符切割装置的结构示意图;
[0055]图21为本申请另一实施例提供的第一字符块获取单元的结构示意图;
[0056]图22为本申请另一实施例提供的切割单元的结构示意图;
[0057]图23为本申请又一实施例提供的字符切割装置的结构示意图;
[0058]图24为本申请又一个实施例提供的电子设备的结构示意图。
【具体实施方式】
[0059]为了使本【技术领域】的人员更好地理解本申请实施例中的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
[0060]图1为本申请一个实施例提供的字符切割方法的流程示意图。本申请实施例提供的该方法可以应用于具有拍照或拍摄功能的移动终端,例如:手机、相机、摄像机或平板电脑,如图2所示,在本申请实施例中,移动终端100为手机,200为携带有待识别号码的卡,例如银行卡、信用卡、充值卡或会员卡等,图中300为待识别的目标区域。
[0061]如图1所示,该方法可以包括:
[0062]SlOl:获取目标区域的当前识别结果和至少一个历史识别结果。
[0063]当前识别结果是目标区域的当前帧图像的识别结果,历史识别结果是目标区域的历史图像的识别结果。在进行OCR识别扫描的过程中,目标区域一般会连续的出现于多个连续的帧之内,这使得目标区域的多帧图像识别后得到的识别结果之间具有一定的关联性,所以在当前识别结果和所述历史识别结果均包含有目标区域内的字符。
[0064]在本申请实施例中,目标区域内的字符包含有至少一个字符块,可选地,字符块可以为数字、字母、汉字和符号中的一种或多种组合。可选地,根据目标区域中的内容不同,识别结果中的对象还可以为其它图案,例如:二维码等。
[0065]可选地,当前识别结果对应的当前帧图像与历史识别结果对应的历史图像可以扫描设备对目标区域连续拍照获得,也可以为不连续拍照获得,并且当前帧图像与历史图像的拍照条件可以相同,也可以不同。在本申请实施例中,拍照条件包括但不局限于拍照角度、拍照时的光照。
[0066]S102:获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置。
[0067]字符块的置信度表征了识别结果中该字符块的准确性高低,置信度越高,识别得到的字符块准确性越高。字符块位于图像中的位置是指位于图像中的相对位置,例如:当目标区域内为一串数字时,字符块的位置表示该字符块位于数字串中的相对位置。
[0068]S103:根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
[0069]错误切割区域是指该区域内的字符块不符合要求,例如错误切割区域内的字符块可能为过切分字符块,例如:将汉字“明”切割成“日”和“月”,或者,字符块可能为粘连字符块,例如:将字符串“郭明敏”切割成“享”、“阳月”和“敏”,其中“享”为过切分字符块,而“阳月”为粘连字符块,在其它实施例中,粘连字符块还有可能为相邻的多个汉字。
[0070]可选地,在本申请实施例中,如图3所示,步骤S103可以包括:
[0071]S1031:根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域。
[0072]字符块不相同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同。对于字符块来说,判断两个字符块相同或不相同,可以通过字符块的置信度信息来比较,对于不相同识别结果中同一位置上的字符块,如果所有字符块的置信度都相同,或者,在允许有误差的情况下,任意两个字符块之间的置信度差值都小于预设差值,就可以认为字符块相同,否则,可以认为字符块不同,包括:字符块全部不相同或部分相相同。
[0073]S1032:将所述字符块不同区域确定为错误切割区域。[0074]可选地,在本申请实施例中,如图4所示,步骤S103可以包括:
[0075]S1033:根据所述当前识别结果中字符块的置信度信息,获取所述当前识别结果中置信度小于预设阈值的字符块。
[0076]置信度小于预设阈值,表示识别得到的字符块的准确性较低。在本申请实施例中,置信度预设阈值可以根据历史实验数据得到的一个经验值。
[0077]S1034:将置信度小于预设阈值的字符块所在区域,确定为错误切割区域。
[0078]可选地,在本申请实施例中,步骤S103既可以单独包括步骤S1031?S1032,也可以单独包括步骤S1033?S1034,另外,还可以同时包括:S1031?S1034中的所有步骤。
[0079]由以上技术方案可见,由于在进行OCR识别扫描的过程中,目标区域一般会连续的出现于多个连续的帧之内,即目标区域的多帧图像识别后得到的识别结果之间具有一定的关联性。所以该方法首先获取目标区域的当前帧图像和至少一帧历史图像的识别结果,然后获取每个识别结果中所有字符块的置信度和位于图像中位置,最后可以根据每个所述字符块的置信度和位置,获取所述当前帧图像的识别结果中的错误切割区域。
[0080]进而在后续对当前帧图像的识别结果进行切割时,可以利用当前帧图像的识别结果中确定的错误切割区域,辅助进行再次切割,提高再次切割的准确性,并且由于再次切割时可以只针对错误切割区域,所以可以避免对当前帧图像进行再次切割的盲目性,提高切割的效率。
[0081]在本申请实施例中,上述步骤SlOl中获取目标区域的当前识别结果可以采用以下方式:
[0082]01):获取目标区域的灰度图像,如图5所示,图中包含有一串阿拉伯数字。
[0083]02):对获取的灰度图像进行自适应二值化处理后,获取灰度图像中的前景像素(即构成字符块的像素),得到二值化图像,如图6所示。
[0084]03):查找二值化图像的连通域,并通过RANSAC (RANdom Sample Consensus,随机样本一致性)算法确定目标区域的上下边界,如图7所示,可以得到目标区域的字符宽高比和目标区域上下边界内的连通字符块。
[0085]04):选取连通字符块的宽度相近的最多宽度作为字符平均宽度,例如:图7中确定的宽度相近的最多宽度为数字“ I”和两个数字“O”的宽度。
[0086]05):将目标区域对应的二值化图像中的前景像素在沿字符块延伸方向(本申请实施例中为数字串的延伸方向)的轴上进行投影,并且将投影像素值小于预设投影像素数量的点作为切割点,并将连续空白区域的切割点进行合并,对目标区域进行初步切割,如图8所示,其中竖线就是初步切割区域。
[0087]06):利用步骤04)中确定的字符平均宽度判断上述切割得到的字符块为粘连字符块、过切分字符块或正确字符块。在本申请实施例中,不存在过切分字符块,如图8所示,起始的四位数字“5998”、第六位开始的数字“93662”以及第十一位开始的数字“0362”都被判断为粘连字符块,第五位数字“ I ”和第十五、第十六位数字“O”都被判断为正确字符块。
[0088]07):对于粘连字符块采用波峰波谷,计算波谷和波峰的比值,设置波峰波谷比例值进行切割,并且对于两个字符粘连点噪声较大的字符块,还可以采用字符平均宽度进行强制切分,即以距离两个字符粘连点噪声较大的字符块的起始位置为字符平均宽度的点为切割点进行切割。[0089]08):重新算出当前帧图像的平均字符宽度,并将切割后的字符块送到分类器中进行字符识别,得到当前识别结果,如图9所示,图中方框内为切割后识别出的字符块。
[0090]图10为本申请另一实施例提供的字符切割方法的流程示意图。在图1所示实施例的基础上,如图10所示,该方法还可以包括:
[0091]S104:获取所述错误切割区域内的过切分字符块和粘连字符块。
[0092]参见上述实施例中关于错误切割区域的描述,可以清楚了解过切分字符块和粘连字符块的含义,在此不再赘述。
[0093]在本申请实施例中,如图11所示,步骤S104可以包括:
[0094]S1041:获取目标二值化参数。
[0095]在本申请实施例中,采用一种改进后的自适应二值化方法,具体步骤为:在进行二值化时,以当前像素为中心,以S*s大小的矩形内所有像素的平均灰度值,用来和当前的像素的灰度值进行比较,如果当前像素灰度值小于平均灰度值,则认为是前景(即为字符的一部分),反之则为背景色。所以在本申请实施例中,目标二值化参数为S。
[0096]在进行二值化时,考虑到二值化效率等问题(S的值越大,需要比较的像素点越多),通常选择可以将目标区域内字符的高度作为S来划分矩形。在本申请实施例中,为了提高目标区域内字符的高度的准确性,可以获取历史识别结果中字符高度,计算所有历史识别结果中字符高度的平均值,并将该平均值作为目标二值化参数。
[0097]S1042:利用所述目标二值化参数对所述当前识别结果进行二值化处理。
[0098]当获取到目标二值化参数后,选取目标区域内一个像素点作为当前像素点,以当前像素点为中心,选取以历史识别结果中字符高度的平均值为边划分一个正方形区域,计算该正方形区域内所有像素点的平均灰度值作为灰度参考值,最后将当前像素点的灰度值与该灰度参考值进行比较,如果当前像素点的灰度值大于灰度参考值,认为当前像素点为字符的一部分,即前景色,否则,认为当前像素点为背景色。
[0099]S1043:获取所述当前识别结果和历史识别结果中的字符置信宽度。
[0100]S1044:根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度。
[0101]在本申请实施例中,目标字符置信宽度可以为当前识别结果和历史识别结果中的字符置信宽度的平均值。
[0102]通过目标字符置信宽度,可以了解目标区域内字符占用的理想宽度。可选地,在本申请其它实施例中,还可以利用先验知识来获取目标字符置信宽度。
[0103]S1045:根据所述目标字符置信宽度,获取二值化处理后所述当前识别结果中所述错误切割区域内的过切分字符块和粘连字符块。
[0104]当获取到目标字符置信宽度后,通过比较错误切割区域内字符块的宽度与目标字符置信宽度,就可以判断出错误切割区域内字符的类型,具体为:当错误切割区域内字符块的宽度大于目标字符置信宽度时,判定该字符块为粘连字符块,当错误切割区域内字符块的宽度小于目标字符置信宽度时,判定该字符块为过切分字符块。
[0105]S105:对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
[0106]在本申请实施例中,如图12所示,步骤S105可以包括:
[0107]S1051:获取对所述当前识别结果进行历史切割时对应的历史波峰波谷比例值。[0108]在获取当前识别结果时,通常会对当前帧图像中的字符块进行一次初步切割,详细可参见上述图5-图9所示,在进行初步切割时,同时记录初步切割时字符块对应的波峰波谷比例值,作为历史波峰波谷比例值,通常需要记录历史波峰波谷比例值的字符块为粘连字符块和过切分字符块。
[0109]S1052:根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点。
[0110]将二值化后图像上的所有像素点在沿字符串延伸的方向的轴上进行投影,投影后得到图像如图13所示,由每个字符块的形状不同,所有投影后得到能够表示像素点数量的曲线。
[0111]在本申请实施例中,在获取粘连字符块的目标切割点时,该步骤1052可以包括:
[0112]11)、获取所述粘连字符块的第一目标切割区域,所述第一目标切割区域的中心位置与所述粘连字符块起点之间距离等于所述目标字符置信宽度。
[0113]下面以图13为例对第一目标切割区域进行说明,如图13所示,图中像素点中的白色竖线为初切割的切割点,以粘连字符块为例,图中A点与C点之间的字符块为粘连字符块,选取该粘连字符块的起点A的坐标a,查找距离起点A的距离为w的切割参考点B,切割参考点的坐标为a+w,w为目标字符置信宽度。以切割参考点B为中心选取[a+w_c,a+w+c]的区域,图13中左侧宽度为2c的斜线填充区域,其中c为区域间隔值,在实际应用时,区域间隔值c可以根据需要自由设定。[a+w-c,a+w+c]区域即为第一目标切割区域。
[0114]12)、根据历史波峰波谷的比例值在第一目标区域内查找是否存在波谷。
[0115]按照公式(I)计算中波峰和波谷的比例f,
[0116]f=h2/hl (I)
[0117]其中,hi为波峰的高度,h2为波谷的高度。
[0118]判断f与历史波峰波谷的比例值的大小关系,当f小于历史波峰波谷的比例值,确定第一目标切割区域内存在波谷。
[0119]13)、当不存在波谷时,调低所述历史波峰波谷比例值,得到第一参考波峰波谷比例值。
[0120]14)、利用所述第一参考波峰波谷比例值,查找所述第一目标切割区域是否存在波谷,直至找到波谷。
[0121]15)当存在波谷时,将查找到的波谷所在位置确定为所述粘连字符块的目标切割点。
[0122]在本申请实施例中,在获取粘连字符块的目标切割点时,该步骤1052可以包括:
[0123]21)获取所述过切分字符块的第二目标切割区域,所述第二目标切割区域的中心位置与所述过切分字符块起点之间距离等于所述目标字符置信宽度。
[0124]参见图13,选取以相邻多个过切分字符块的第一过切分字符块的起始位置M,M点的作为为a',第二目标切割区域的参考切割点为N,N点的作为a ' +W,选取得到的第二目标切割区域为图13中右侧宽度为2c的斜线填充区域。可选地,对于过切分字符块和粘连字符块,在选取目标切割区域时,区域间隔值c可以相同,也可以不同。
[0125]22)根据所述历史波峰波谷比例值在所述第二目标切割区域内查找是否存在波谷;[0126]23)当存在波谷时,调高所述历史波峰波谷比例值,得到第二参考波峰波谷比例值;
[0127]24)利用所述第二参考波峰波谷比例值,查找所述第二目标切割区域是否存在波谷,直至找不到波谷;
[0128]25)当不存在波谷时,将最后一次调整波峰波谷比例值前找到的波谷所在位置确定为所述过切分字符块的目标切割点。
[0129]当通过上述方式没有在过切分字符块和粘连字符块中查找到目标切割点时,可选地,在本申请实施例中,该步骤1052还可以包括:
[0130]31)判断对波峰波谷比例值的调整次数是否大于预设次数阈值;
[0131]32)当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向的轴上投影像素点数量最小的位置确定为目标切割点。
[0132]此外,在本申请实施例中,当遇到粘连字符块内有多个字符时,均以粘连字符块的起点为起始位置,分别选取距离起始位置一个、两个以及多个目标字符置信宽度的位置选择参考切割点。同时,对于多个连续的过切分字符块,以第一过切分字符块的起点为起始位置,分别选取距离起始位置一个、两个以及多个目标字符块置信宽度的位置选取参考切割点。
[0133]S1053:在所述目标切割点对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
[0134]当获取到过切分字符块和粘连字符块的目标切割点后,分别在各自的目标切割点位置进行切割。
[0135]在本申请实施例中,以三个历史识别结果为例,参见图14为当前帧图像的前一帧图像对应的识别结果的示意图,图15为当前帧图像的前两帧图像对应的识别结果的示意图,图16为当前帧图像前三帧图像对应的识别结果的示意图。图17为对当前帧图像的当前识别结果再次切割后得到的目标识别结果的示意图。
[0136]从图14-图17可见,该方法在对当前帧图像的识别结果进行切割时,可以利用当前帧图像的识别结果中确定的错误切割区域,辅助进行再次切割,提高再次切割的准确性,并且由于再次切割时可以只针对错误切割区域进行切割,所以可以避免对当前帧图像进行再次切割的盲目性,提高切割的效率。
[0137]图18为本申请又一个实施例提供的字符切割方法的流程示意图。如图18所示,在图10所示实施例的基础上,该方法还可以包括:
[0138]S106:判断是否接收到用户输入的操作请求。
[0139]操作请求包括但不局限于:二次扫描请求、重试请求或取消识别请求。当用户输入的操作请求后,表示用户认为本次识别结果不理想,可能存在识别错误。
[0140]如果是,进行SIO 7,否则,进行S108。
[0141]S107:获取所述目标切割结果的置信度,并降低所述置信度作为所述目标切割结果的目标置信度。
[0142]在对应目标区域进行识别时,可能会出现多次识别均存在同一错误,例如:对数字串“123456789”进行识别时,均会将数字“7”识别为数字“1”,这样,并且对于出现同一错误的多个识别结果的置信度都相同,所以多次识别后,需要用户在置信度相同的多个识别结果中再次选择一个作为目标识别结果,操作繁琐。
[0143]通过该步骤,在每次得到识别结果后,如果都接收到用户输入的操作请求,则将本次得到的目标识别结果的置信度降低,直至最后没有接到用户输入的操作请求,前面多次得到的目标识别结果的置信度将小于最终得到的目标识别结果的置信度。避免对于多次识别均出现同一错误的情况后续需要用户在多个识别结果中进行选择的问题。
[0144]可选地,在本申请实施例中,可以按照预设的减少量降低目标识别结果的置信度,也可以通过其它方式来降低目标识别结果的置信度。
[0145]S108:输出所述目标切割结果。
[0146]目标切割结果的输出方式,包括但不局限于:在显示屏上显示、语音播报、以短信形式发送等等。
[0147]通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0148]本申请实施例还提供用于执行上述方法实施例的装置和设备,以下做举例介绍。
[0149]图19为本申请一实施例提供的字符切割装置的结构示意图。如图19所示,该装置包括:
[0150]识别结果获取单元1,用于获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块;
[0151]字符块信息获取单元2,用于获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置;
[0152]错误切割区域获取单元3,用于根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
[0153]可选地,在本申请实施例中,错误切割区域获取单元3可以包括:
[0154]字符块不同区域获取子单元,用于根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同;
[0155]第一错误切割区域确定子单元,用于将所述字符块不同区域确定为错误切割区域。
[0156]可选地,在本申请实施例中,错误切割区域获取单元3可以包括:
[0157]第二字符块获取单元,用于根据所述当前识别结果中字符块的置信度信息,获取所述当前识别结果中置信度小于预设阈值的字符块;
[0158]第二错误切割确定子单元,用于将置信度小于预设阈值的字符块所在区域,确定为错误切割区域;[0159]字符块不同区域获取子单元,用于根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同;
[0160]第一错误切割区域确定子单元,用于将所述字符块不同区域确定为错误切割区域。
[0161]其中,第二错误切割确定子单元可以包括:
[0162]相邻区域判断模块,用于判断是否存在至少两个置信度小于预设阈值的字符块所在区域相邻;
[0163]区域合并模块,用于当至少两个置信度小于预设阈值的字符块所在区域相邻时,合并位置相邻且置信度小于预设阈值的字符块;
[0164]第二错误切割确定模块,将合并后的字符块的区域和未合并的置信度小于预设阈值的字符块所在区域确定为错误切割区域。
[0165]该装置获取目标区域的当前帧图像和至少一帧历史图像的识别结果,然后获取每个识别结果中所有字符块的置信度和位于图像中位置,最后可以根据每个所述字符块的置信度和位置,获取所述当前帧图像的识别结果中的错误切割区域。进而在后续对当前帧图像的识别结果进行切割时,可以利用当前帧图像的识别结果中确定的错误切割区域,辅助进行再次切割,提高再次切割的准确性,并且由于再次切割时可以只针对错误切割区域,所以可以避免对当前帧图像进行再次切割的盲目性,提高切割的效率。
[0166]图20为本申请另一实施例提供的字符切割装置的结构示意图。如图20所示,在图19所示实施例的基础上,该装置还可以包括:
[0167]第一字符块获取单元4,用于获取所述错误切割区域内的过切分字符块和粘连字符块;
[0168]其中,在本申请实施例中,如图21所示,第一字符块获取单元4可以包括:
[0169]目标二值化参数获取子单元41,用于获取目标二值化参数,所述目标二值化参数包括:历史图像的识别结果中的字符平均高度;
[0170]二值化处理子单元42,用于利用所述目标二值化参数对所述当前识别结果进行二值化处理;
[0171]字符置信宽度获取子单元43,用于获取所述当前识别结果和历史识别结果中的字符置信宽度;
[0172]目标字符置信宽度获取子单元44,用于根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度;
[0173]第一字符块获取子单元45,用于根据所述目标字符置信宽度获取二值化处理后所述当前识别结果中所述错误切割区域内的过切分字符块和粘连字符块。
[0174]其中,目标字符置信宽度获取子单元可以包括:统计模块,用于统计所述当前识别结果和历史识别结果中字符置信宽度下限值之间的关系以及上限值之间关系;数量比较模块,用于比较第一数量与第二数量的大小;字符置信宽度调整模块,用于当第一数量小于第二数量时,按照预设第一修正值减小所述当前识别结果中字符置信宽度上限值和下限值,得到目标字符置信宽度;当第一数量大于第二数量时,按照预设第二修正值增大所述当前识别结果中的字符置信宽度的上限值和下限值,得到目标字符置信宽度。[0175]在本申请实施例中,所述第一数量是指字符置信宽度下限值小于所述当前识别结果中字符置信宽度下限值的历史识别结果的数量,第二数量是指字符置信宽度上限值大于所述当前识别结果中字符置信宽度上限值的历史识别结果的数量
[0176]切割单元5,用于对所述过切分字符块和粘连字符块进行切割,得到目标切割结果
[0177]其中,在本申请实施例中,如图22所示,切割单元5可以包括:
[0178]比例值获取子单元51,用于获取对所述当前识别结果进行历史切割时对应的历史波峰波谷比例值;
[0179]目标切割点获取子单元52,用于根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点;
[0180]切割子单元53,用于在所述目标切割点对所述过切分字符块和粘连字符块进行切害!],得到目标切割结果。
[0181]可选地,在本申请实施例中,目标切割点获取子单元可以包括:
[0182]目标切割区域获取模块,用于获取所述粘连字符块的第一目标切割区域和获取所述过切分字符块的第二目标切割区域,所述第一目标切割区域的中心位置与所述粘连字符块起点之间距离等于所述目标字符置信宽度,所述第二目标切割区域的中心位置与所述过切分字符块起点之间距离等于所述目标字符置信宽度;
[0183]波谷查找模块,用于根据所述历史波峰波谷比例值在所述第一目标切割区域内或第二目标切割区域内查找是否存在波谷;
[0184]比例值调整模块,用于当所述第一目标切割区域内不存在波谷时,调低所述历史波峰波谷比例值,得到第一参考波峰波谷比例值;当所述第二目标切割区域内存在波谷时,调高所述历史波峰波谷比例值,得到`第二参考波峰波谷比例值;
[0185]所述波谷查找模块还用于利用所述第一参考波峰波谷比例值,查找所述第一目标切割区域是否存在波谷,直至找到波谷,或者,利用所述第二参考波峰波谷比例值,查找所述第二目标切割区域是否存在波谷,直至找不到波谷;
[0186]第一目标切割点确定模块,用于当利用第一参考波峰波谷比例值查找到波谷时,将查找到的波谷所在位置确定为所述粘连字符块的目标切割点,或者,利用所述第二参考波峰波谷比例值查找不到波谷时,将最后一次调整波峰波谷比例值前找到的波谷所在位置确定为所述过切分字符块的目标切割点。
[0187]可选地,在本申请实施例中,目标切割点获取子单元还可以包括:
[0188]次数判断模块,用于判断对波峰波谷比例值的调整次数是否大于预设次数阈值;
[0189]第二目标切割点确定模块,用于当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向上投影像素点数量最小的位置确定为目标切割点。
[0190]该装置在对当前帧图像的识别结果进行切割时,可以利用当前帧图像的识别结果中确定的错误切割区域,辅助进行再次切割,提高再次切割的准确性,并且由于再次切割时可以只针对错误切割区域进行切割,所以可以避免对当前帧图像进行再次切割的盲目性,提高切割的效率。
[0191]图23为本申请又一实施例提供的字符切割装置的结构示意图。如图23所示,在图20所示实施例的基础上,该装置还可以包括:[0192]操作请求接收单元6,用于接收用户输入的操作请求,所述操作请求包括:二次扫描请求、重试请求或取消识别请求;
[0193]请求判断单元7,用于判断是否接收到用户输入的操作请求;
[0194]目标置信度确定单元8,用于当接收到所述操作请求时,获取所述目标切割结果的置信度,并降低所述置信度作为所述目标切割结果的目标置信度;
[0195]输出单元9,用于当未接收所述操作请求时,输出所述目标切割结果。
[0196]该装置,在每次得到识别结果后,如果都接收到用户输入的操作请求,则将本次得到的目标识别结果的置信度降低,直至最后没有接到用户输入的操作请求,前面多次得到的目标识别结果的置信度将小于最终得到的目标识别结果的置信度。避免对于多次识别均出现同一错误的情况后续需要用户在多个识别结果中进行选择的问题。
[0197]相应于上述信息卡扫描提示装置实施例,本公开还提供了一种电子设备的实施例。
[0198]图24是本申请实施例提供的一种电子设备的结构示意图,参见图24,该电子设备可以用于实施上述实施例中提供的字符切割方法。具体来讲:
[0199]电子设备500可以包括射频电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图24中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0200]射频电路110可用于收发信息或通话过程中,信号的接收和发送。特别地,射频电路110将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,作为通信单元的射频电路包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、稱合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,射频电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于 GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS (GeneralPacket Radio Service,通用分组无线服务)、CDMA (Code Division Multiple Access,石马分多址)、WCDMA (Wideband Code Division Multiple Access,宽带码分多址)、LTE (LongTerm Evolution,长期演进)、电子邮件、SMS (Short Messaging Service,短消息服务)等。存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备500的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
[0201]输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0202]显示单元140可用于显示由用户输入的信息或提供给用户的信息以及电子设备500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用IXD (Liquid Crystal Display,液晶显示器)、0LED (Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图24中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
[0203]电子设备500还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0204]音频电路160、扬声器161,传声器162可提供用户与电子设备500之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一电子设备,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与电子设备500的通信。
[0205]为了实现无线通信,该电子设备上可以配置有WiFi模块170。WiFi属于短距离无线传输技术,电子设备500通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图24示出了 WiFi模块170,但是可以理解的是,其并不属于电子设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0206]处理器180是电子设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行电子设备500的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
[0207]电子设备500还包括给各个部件供电的电源190 (比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0208]尽管未示出,电子设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备的显示单元是触摸屏显示器,电子设备还包括有存储器,所述存储器还包括一个或者一个以上的程序,且经配置以由一个或者一个以上处理器180执行所述一个或者一个以上程序包含用于执行图1-图18任一所示实施例所提供的字符切割方法。
[0209]作为另一方面,本申请再一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行图1-图18任一所示实施例所提供的字符切割方法。
[0210]可以理解的是,本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0211]本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0212]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方`法、物品或者设备中还存在另外的相同要素。
[0213]以上所述仅是本申请的【具体实施方式】,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
【权利要求】
1.一种字符切割方法,其特征在于,所述方法包括: 获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块; 获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置; 根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 获取所述错误切割区域内的过切分字符块和粘连字符块; 对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
3.根据权利要求2所述的方法,其特征在于,所述获取所述错误切割区域内的过切分字符块和粘连字符块,包括: 获取目标二值化参数,所述目标二值化参数包括:历史图像的识别结果中的字符平均高度; 利用所述目标二值化参数对所述当前识别结果进行二值化处理; 获取所述当前识别结果和历史识别结果中的字符`置信宽度; 根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度;根据所述目标字符置信宽度获取二值化处理后所述当前识别结果中所述错误切割区域内的过切分字符块和粘连字符块。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度,包括: 统计所述当前识别结果和历史识别结果中字符置信宽度下限值之间的关系以及上限值之间关系; 当第一数量小于第二数量时,按照预设第一修正值减小所述当前识别结果中字符置信宽度上限值和下限值,得到目标字符置信宽度; 当第一数量大于第二数量时,按照预设第二修正值增大所述当前识别结果中的字符置信宽度的上限值和下限值,得到目标字符置信宽度; 其中,所述第一数量是指字符置信宽度下限值小于所述当前识别结果中字符置信宽度下限值的历史识别结果的数量,第二数量是指字符置信宽度上限值大于所述当前识别结果中字符置信宽度上限值的历史识别结果的数量。
5.根据权利要求2所述的方法,其特征在于,所述对所述过切分字符块和粘连字符块进行切割,得到目标切割结果,包括: 获取对所述当前识别结果进行历史切割时对应的历史波峰波谷比例值; 根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点; 在所述目标切割点对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,包括: 获取所述粘连字符块的第一目标切割区域,所述第一目标切割区域的中心位置与所述粘连字符块起点之间距离等于所述目标字符置信宽度;根据所述历史波峰波谷比例值在所述第一目标切割区域内查找是否存在波谷; 当不存在波谷时,调低所述历史波峰波谷比例值,得到第一参考波峰波谷比例值;利用所述第一参考波峰波谷比例值,查找所述第一目标切割区域是否存在波谷,直至找到波谷; 当存在波谷时,将查找到的波谷所在位置确定为所述粘连字符块的目标切割点。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,还包括: 判断对波峰波谷比例值的调整次数是否大于预设次数阈值; 当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向的轴上投影像素点数量最小的位置确定为目标切割点。
8.根据权利要求5所述的方法,其特征在于,所述据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,包括: 获取所述过切分字符块的第二目标切割区域,所述第二目标切割区域的中心位置与所述过切分字符块起点之间距离等于所述目标字符置信宽度; 根据所述历史波峰波谷比例值在所述第二目标切割区域内查找是否存在波谷; 当存在波谷时,调高所述历史波峰波谷比例值,得到第二参考波峰波谷比例值; 利用所述第二参考波峰波谷比例值,查找所述第二目标切割区域是否存在波谷,直至找不到波谷; 当不存在波谷时,将最后一次调整波峰波谷比例值前找到的波谷所在位置确定为所述过切分字符块的目标切割点。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点,还包括: 判断对波峰波谷比例值的调整次数是否大于预设次数阈值; 当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向的轴上投影像素点数量最小的位置确定为目标切割点。
10.根据权利要求2所述的方法,其特征在于,所述方法还包括: 判断是否接收到用户输入的操作请求,所述操作请求包括:二次扫描请求、重试请求或取消识别请求; 当接收到所述操作请求时,获取所述目标切割结果的置信度,并降低所述置信度作为所述目标切割结果的目标置信度; 当未接收所述操作请求时,输出所述目标切割结果。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域,包括: 根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同; 将所述字符块不同区域确定为错误切割区域。
12.根据权利要求1-10任一项所述的方法,其特征在于,所述根据每个字符块的置信度信息和位置,获取所述当前识别结果中的错误切割区域,包括:根据所述当前识别结果中字符块的置信度信息,获取所述当前识别结果中置信度小于预设阈值的字符块; 将置信度小于预设阈值的字符块所在区域,确定为错误切割区域; 根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同; 将所述字符块不同区域确定为错误切割区域。
13.根据权利要求12所述的方法,其特征在于,所述将置信度小于预设阈值的字符块所在区域确定为错误切割区域,包括: 判断是否存在至少两个置信度小于预设阈值的字符块所在区域相邻; 当至少两个置信度小于预设阈值的字符块所在区域相邻时,合并位置相邻且置信度小于预设阈值的字符块; 将合并后的字符块的区域和未合并的置信度小于预设阈值的字符块所在区域确定为错误切割区域。
14.一种字符切割装置,其特征在于,包括: 识别结果获取单元,用于获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块; 字符块信息获取单元,用于获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置;` 错误切割区域获取单元,用于根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括: 第一字符块获取单元,用于获取所述错误切割区域内的过切分字符块和粘连字符块; 切割单元,用于对所述过切分字符块和粘连字符块进行切割,得到目标切割结果。
16.根据权利要求15所述的装置,其特征在于,所述第一字符块获取单元包括: 目标二值化参数获取子单元,用于获取目标二值化参数,所述目标二值化参数包括:历史图像的识别结果中的字符平均高度; 二值化处理子单元,用于利用所述目标二值化参数对所述当前识别结果进行二值化处理; 字符置信宽度获取子单元,用于获取所述当前识别结果和历史识别结果中的字符置信览度; 目标字符置信宽度获取子单元,用于根据所述当前识别结果和历史识别结果中的字符置信宽度,获取目标字符置信宽度; 第一字符块获取子单元,用于根据所述目标字符置信宽度获取二值化处理后所述当前识别结果中所述错误切割区域内的过切分字符块和粘连字符块。
17.根据权利要求16所述的装置,其特征在于,所述目标字符置信宽度获取子单元包括: 统计模块,用于统计所述当前识别结果和历史识别结果中字符置信宽度下限值之间的关系以及上限值之间关系; 数量比较模块,用于比较第一数量与第二数量的大小; 字符置信宽度调整模块,用于当第一数量小于第二数量时,按照预设第一修正值减小所述当前识别结果中字符置信宽度上限值和下限值,得到目标字符置信宽度;当第一数量大于第二数量时,按照预设第二修正值增大所述当前识别结果中的字符置信宽度的上限值和下限值,得到目标字符置信宽度;其中,所述第一数量是指字符置信宽度下限值小于所述当前识别结果中字符置信宽度下限值的历史识别结果的数量,第二数量是指字符置信宽度上限值大于所述当前识别结果中字符置信宽度上限值的历史识别结果的数量。
18.根据权利要求15所述的装置,其特征在于,所述切割单元包括: 比例值获取子单元,用于获取对所述当前识别结果进行历史切割时对应的历史波峰波谷比例值; 目标切割点获取子单元,用于根据所述目标字符置信宽度调整所述历史波峰波谷比例值,得到目标切割点; 切割子单元,用于在所述目标切割点对所述过切分字符块和粘连字符块进行切割,得到目标切IllJ结果。
19.根据权利要求1 8所述的装置,其特征在于,所述目标切割点获取子单元包括: 目标切割区域获取模块,用于获取所述粘连字符块的第一目标切割区域和获取所述过切分字符块的第二目标切割区域,所述第一目标切割区域的中心位置与所述粘连字符块起点之间距离等于所述目标字符置信宽度,所述第二目标切割区域的中心位置与所述过切分字符块起点之间距离等于所述目标字符置信宽度; 波谷查找模块,用于根据所述历史波峰波谷比例值在所述第一目标切割区域内或第二目标切割区域内查找是否存在波谷; 比例值调整模块,用于当所述第一目标切割区域内不存在波谷时,调低所述历史波峰波谷比例值,得到第一参考波峰波谷比例值;当所述第二目标切割区域内存在波谷时,调高所述历史波峰波谷比例值,得到第二参考波峰波谷比例值; 所述波谷查找模块还用于利用所述第一参考波峰波谷比例值,查找所述第一目标切割区域是否存在波谷,直至找到波谷,或者,利用所述第二参考波峰波谷比例值,查找所述第二目标切割区域是否存在波谷,直至找不到波谷; 第一目标切割点确定模块,用于当利用第一参考波峰波谷比例值查找到波谷时,将查找到的波谷所在位置确定为所述粘连字符块的目标切割点,或者,利用所述第二参考波峰波谷比例值查找不到波谷时,将最后一次调整波峰波谷比例值前找到的波谷所在位置确定为所述过切分字符块的目标切割点。
20.根据权利要求19所述的装置,其特征在于,所述目标切割点获取子单元还包括: 次数判断模块,用于判断对波峰波谷比例值的调整次数是否大于预设次数阈值; 第二目标切割点确定模块,用于当对波峰波谷比例值的调整次数大于预设次数阈值时,将所述粘连字符块或过切分字符块在字符排列方向上投影像素点数量最小的位置确定为目标切割点。
21.根据权利要求15所述的装置,其特征在于,所述装置还包括:操作请求接收单元,用于接收用户输入的操作请求,所述操作请求包括:二次扫描请求、重试请求或取消识别请求; 请求判断单元,用于判断是否接收到用户输入的操作请求; 目标置信度确定单元,用于当接收到所述操作请求时,获取所述目标切割结果的置信度,并降低所述置信度作为所述目标切割结果的目标置信度; 输出单元, 用于当未接收所述操作请求时,输出所述目标切割结果。
22.根据权利要求14-21任一项所述的装置,其特征在于,所述错误切割区域获取单元包括: 字符块不同区域获取子单元,用于根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同; 第一错误切割区域确定子单元,用于将所述字符块不同区域确定为错误切割区域。
23.根据权利要求14-21任一项所述的装置,其特征在于,所述错误切割区域获取单元包括: 第二字符块获取单元,用于根据所述当前识别结果中字符块的置信度信息,获取所述当前识别结果中置信度小于预设阈值的字符块; 第二错误切割确定子单元,用于将置信度小于预设阈值的字符块所在区域,确定为错误切割区域; 字符块不同区域获取子单元,用于根据每个字符块的置信度信息和位置,获取所述当前识别结果中的字符块不同区域,其中,所述字符块不同区域内相同位置上所述当前识别结果和历史识别结果中的字符块全部不相同或部分不相同; 第一错误切割区域确定子单元,用于将所述字符块不同区域确定为错误切割区域。
24.根据权利要求23所述的装置,其特征在于,第二错误切割确定子单元包括: 相邻区域判断模块,用于判断是否存在至少两个置信度小于预设阈值的字符块所在区域相邻; 区域合并模块,用于当至少两个置信度小于预设阈值的字符块所在区域相邻时,合并位置相邻且置信度小于预设阈值的字符块; 第二错误切割确定模块,将合并后的字符块的区域和未合并的置信度小于预设阈值的字符块所在区域确定为错误切割区域。
25.—种电子设备,其特征在于,包括:包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上指令包含用于进行以下操作的指令: 获取目标区域的当前识别结果和至少一个历史识别结果,所述当前识别结果是目标区域的当前帧图像的识别结果,所述历史识别结果是目标区域的历史图像的识别结果,所述当前识别结果和所述历史识别结果均包含至少一个字符块; 获取所述当前识别结果和历史识别结果中每个字符块的置信度和位于图像中的位置; 根据每个字符块的置信度和位置,获取所述当前识别结果中的错误切割区域。
【文档编号】G06K9/20GK103729636SQ201310699001
【公开日】2014年4月16日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】陈志军, 张涛, 王琳, 秦秋平 申请人:小米科技有限责任公司