字符识别方法、装置、计算机设备和计算机可读存储介质与流程

文档序号:11200168阅读:415来源:国知局
字符识别方法、装置、计算机设备和计算机可读存储介质与流程

本发明涉及图像处理技术领域,特别是涉及字符识别方法、字符识别装置、计算机设备和计算机可读存储介质。



背景技术:

随着科技的发展,字符识别技术的使用更加普遍,它可以减少或替换繁琐的文字输入。例如,对于一张包含字符的图像,用户通过字符识别技术,例如ocr(opticalcharacterrecognition,光学字符识别),就可以识别出该图像中的字符,然后根据识别出的字符进行检索或者翻译等操作。但是在采用传统技术中的字符识别技术进行字符识别时一般需要将图像中的字符进行分割,而字符分割时由于字符粘连容易造成字符的误识别,因此字符识别准确度不高。



技术实现要素:

基于此,有必要针对传统技术中字符识别准确度不高的问题,提供一种字符识别方法、装置、计算机设备和计算机可读存储介质,能够对字符图像进行整体识别,提高了字符识别的准确度。

一种字符识别方法,包括步骤:

获取待识别字符图像,对所述待识别字符图像进行灰度化处理,获得预处理字符图像;

将所述预处理字符图像作为一个整体输入预设的字符识别模型,由所述字符识别模型计算出预处理字符图像的第一字符识别结果,其中所述字符识别模型由字符图像的训练样本集训练设定神经网络模型生成;

对所述预处理字符图像进行若干次旋转,将每次旋转后的预处理字符图像作为一个整体输入所述字符识别模型,由所述字符识别模型计算出每次旋转后的预处理字符图像的第二字符识别结果;

根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符。

上述字符识别方法,预先设置字符识别模型,然后将待识别字符图像处理后整体输入字符识别模型,通过字符识别模型对字符图像进行整体识别,不再需要进行字符分割,从而避免了字符分割时由于字符粘连而造成的误识别,提高了字符识别的准确度,该方法有效鲁棒,具有较大的应用价值。

在一个实施例中,根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符包括:若所述第一字符识别结果和每个第二字符识别结果相同,计算旋转前的预处理字符图像的长宽比以及每次旋转后的预处理字符图像的长宽比;计算所述第一字符识别结果或第二字符识别结果的字符总长度;若所有的长宽比均大于所述字符总长度与第一比值的乘积且小于所述字符总长度与第二比值的乘积,将所述第一字符识别结果或第二字符识别结果作为所述待识别字符图像的字符识别结果。考虑到当字符图像的像素点比较对称时,容易造成各个识别结果一致,如果这时出现了误识别,则会把错误的结果当成最终输出,而通过长宽比和字符总长度的比较,则可以有效避免该问题,进一步筛选出正确的识别结果。

在一个实施例中,对所述待识别字符图像进行灰度化处理之后,获得预处理字符图像之前,还包括步骤:对灰度化后的待识别字符图像进行图像二值化,获得二值图像;对所述二值图像进行图像归一化。

在一个实施例中,对所述二值图像进行图像归一化包括:将所述二值图像调整为黑色底面白色字符的样式。

在一个实施例中,将所述二值图像调整为黑色底面白色字符的样式包括:获取所述二值图像中的白色部分的第一轮廓;对所述二值图像进行黑白翻转处理,获取翻转后的二值图像中的白色部分的第二轮廓;分别计算所述第一轮廓的最大宽度和所述第二轮廓的最大宽度;若所述第一轮廓的最大宽度小于所述第二轮廓的最大宽度,保留黑白翻转前的二值图像,否则保留黑白翻转后的二值图像。

在一个实施例中,对所述二值图像进行图像归一化还包括:将所述二值图像的边界去除,并将去除边界后的二值图像缩放至预设尺寸。

在一个实施例中,将所述二值图像的边界去除包括:对所述二值图像分别进行水平积分投影和垂直积分投影;遍历水平积分投影后所述二值图像的行像素,获取所述行像素中的起始行数和结束行数;遍历垂直积分投影后所述二值图像的列像素,获取所述列像素中的起始列数和结束列数;根据起始行数、结束行数、起始列数和结束列数设置所述二值图像中的感兴趣区域,将所述二值图像中除感兴趣区域外的边界去除。

一种字符识别装置,包括:

字符图像预处理模块,用于获取待识别字符图像,对所述待识别字符图像进行灰度化处理,获得预处理字符图像;

第一字符识别模块,用于将所述预处理字符图像作为一个整体输入预设的字符识别模型,由所述字符识别模型计算出预处理字符图像的第一字符识别结果,其中所述字符识别模型由字符图像的训练样本集训练设定神经网络模型生成;

第二字符识别模块,用于对所述预处理字符图像进行若干次旋转,将每次旋转后的预处理字符图像作为一个整体输入所述字符识别模型,由所述字符识别模型计算出每次旋转后的预处理字符图像的第二字符识别结果;

字符识别结果确定模块,用于根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符。

上述字符识别装置,预先设置字符识别模型,然后将待识别字符图像处理后整体输入字符识别模型,通过字符识别模型对字符图像进行整体识别,不再需要进行字符分割,从而避免了字符分割时由于字符粘连而造成的误识别,提高了字符识别的准确度,该字符识别装置有效鲁棒,具有较大的应用价值。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。

上述计算机设备,预先设置字符识别模型,然后将待识别字符图像处理后整体输入字符识别模型,通过字符识别模型对字符图像进行整体识别,不再需要进行字符分割,从而避免了字符分割时由于字符粘连而造成的误识别,提高了字符识别的准确度,该计算机设备有效鲁棒,具有较大的应用价值。

一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一项所述方法的步骤。

上述计算机可读存储介质,预先设置字符识别模型,然后将待识别字符图像处理后整体输入字符识别模型,通过字符识别模型对字符图像进行整体识别,不再需要进行字符分割,从而避免了字符分割时由于字符粘连而造成的误识别,提高了字符识别的准确度,该计算机可读存储介质有效鲁棒,具有较大的应用价值。

附图说明

图1为一实施例的字符识别方法的流程示意图;

图2为一具体实施例的测试阶段利用字符识别模型识别字符的流程示意图;

图3为一实施例的将二值图像调整为黑底白字样式的流程示意图;

图4为一实施例的对二值图像去除边界的流程示意图;

图5为另一实施例的字符识别方法的流程示意图;

图6为一具体实施例的字符识别方法的流程示意图;

图7为一实施例的字符识别装置的结构示意图;

图8为一实施例的计算机设备的结构示意图。

具体实施方式

为更进一步阐述本发明所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本发明的技术方案,进行清楚和完整的描述。

如图1所示,在一个实施例中,提供了一种字符识别方法,包括步骤:

s110、获取待识别字符图像,对所述待识别字符图像进行灰度化处理,获得预处理字符图像;

待识别字符图像即为需要识别字符的图像。对待识别图像进行灰度化处理可以根据现有技术中已有的方式实现,对图像进行灰度化处理后获得待识别字符图像的预处理字符图像。

s120、将所述预处理字符图像作为一个整体输入预设的字符识别模型,由所述字符识别模型计算出预处理字符图像的第一字符识别结果,其中所述字符识别模型由字符图像的训练样本集训练设定神经网络模型生成;

预设的字符识别模型为由训练样本集训练设定神经网络模型所生成的模型,字符识别模型用于对待识别字符图像进行字符识别。设定神经网络模型有多种类型,可选的,设定神经网络模型为bp(backpropagation,反向传播)神经网络模型。训练样本集包括多个字符图像训练样本,可选的,在获得原始字符图像后,对原始字符图像进行灰度化、二值化和归一化等一系列处理,得到字符图像训练样本。预处理字符图像作为一个整体输入即不需要对预处理字符图像进行字符分割,直接作为一个整体进行字符识别。将预处理字符图像作为一个整体输入字符识别模型后,字符识别模型得到字符识别结果a。

s130、对所述预处理字符图像进行若干次旋转,将每次旋转后的预处理字符图像作为一个整体输入所述字符识别模型,由所述字符识别模型计算出每次旋转后的预处理字符图像的第二字符识别结果;

对预处理字符图像进行旋转的次数可以根据实际需要确定,每次旋转后的预处理字符图像均输入字符识别模型,得到每次旋转后的预处理字符图像的字符识别结果。例如,由于预处理字符图像有可能是正放或者反放,因此无法确定字符的方向,所以,如图2所示,在一个实施例中,可以对预处理字符图像进行三次旋转:对预处理字符图像a顺时针旋转90度得到预处理字符图像b、对预处理字符图像a顺时针旋转180度得到预处理字符图像c和对预处理字符图像c顺时针旋转90度得到预处理字符图像d,预处理字符图像a为s120中的预处理字符图像。将三次旋转后的预处理字符图像分别输入字符识别模型,即可以得到字符识别结果b、字符识别结果c和字符识别结果d。

s140、根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符。

本实施例所提供的字符识别方法可以通过相应的程序实现,程序运行在终端中,例如手机、平板电脑或者计算机中。该方法对字符图像区域进行整体识别,省略了字符分割这一步骤,避免了字符分割时由于字符粘连而造成的误识别,有效鲁棒,具有较大的应用价值。另外,该方法通过图像旋转后各个字符识别结果的比较,有效避免了由于终端放置方式不同所引起的字符识别的误差,提高了实际识别准确的概率。

为了进一步提高字符识别的准确度,在一个实施例中,对所述待识别字符图像进行灰度化处理之后,获得预处理字符图像之前,还包括步骤:对灰度化后的待识别字符图像进行图像二值化,获得二值图像;对所述二值图像进行图像归一化。需要说明的是,本发明并不对此进行限制,还可以仅进行图像二值化的操作,或者仅进行图像归一化的操作,又或者在进行图像二值化和图像归一化之外还进行其它图像的处理。

图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。图像二值化有多种实现方式,可选的,采用大津算法实现图像二值化。

图像归一化就是通过一系列变换(即利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响),将待处理的原始图像转换成相应的唯一标准形式(该标准形式图像对平移、旋转、缩放等仿射变换具有不变特性)。图像归一化使得图像可以抵抗几何变换的攻击。图像归一化有多种实现方式,例如,在一个实施例中,对所述二值图像进行图像归一化包括s1101:将所述二值图像调整为黑色底面白色字符的样式。

如图3所示,在一个实施例中,将所述二值图像调整为黑色底面白色字符的样式包括:

s1101a、获取所述二值图像中的白色部分的第一轮廓a;

提取二值图像的白色部分的轮廓有多种实现方式,例如,采用函数cvfindcontours提取轮廓a。

s1101b、对所述二值图像进行黑白翻转处理,获取翻转后的二值图像中的白色部分的第二轮廓b;

对二值图像进行黑白翻转处理即是将二值图像中的白色像素点变为黑色像素点,同时将黑色像素点变为白色像素点。进行黑白翻转后,可以通过函数cvfindcontours提取轮廓b。

s1101c、分别计算轮廓a的最大宽度maxw_a和轮廓b的最大宽度maxw_b;

计算轮廓的最大宽度可以根据现有技术中已有的方式实现。

s1101d、若轮廓a的最大宽度maxw_a小于轮廓b的最大宽度maxw_b,保留黑白翻转前的二值图像,否则保留黑白翻转后的二值图像。

翻转前的二值图像即为s1101a中的二值图像。由于图片为黑底白字时白色部分轮廓的最大宽度要小于图片为白底黑字时白色部分轮廓的最大宽度,因此根据该规律可以判断原图是否是黑底白字的样式,从而做出调整。

在另一个实施例中,对所述二值图像进行图像归一化包括s1102:对所述二值图像进行图像归一化还包括:将所述二值图像的边界去除,并将去除边界后的二值图像缩放至预设尺寸。需要说明的是,步骤s1102和步骤s1101可以同时执行,也可以择一执行。预设尺寸可以根据实际需要进行确定,例如将二值图像缩放至高度为50像素。

如图4所示,在一个实施例中,将所述二值图像的边界去除包括:

s1102a、对所述二值图像分别进行水平积分投影和垂直积分投影;

s1102b、遍历水平积分投影后所述二值图像的行像素,获取所述行像素中的起始行数和结束行数;

s1102c、遍历垂直积分投影后所述二值图像的列像素,获取所述列像素中的起始列数和结束列数;

s1102d、根据起始行数、结束行数、起始列数和结束列数设置所述二值图像中的感兴趣区域(roi,regionofinterest),将所述二值图像中除感兴趣区域外的边界去除。起始行数、结束行数、起始列数和结束列数所围起来的区域为感兴趣区域。

需要说明的是,上述待识别字符图像处理的过程也适用于字符识别模型中训练样本集的获得,即获得多个原始字符图像后,可以采用上述方式对多个原始字符图像进行灰度化处理、图像二值化和图像归一化,然后通过多个图像归一化的字符图像对设定的神经网络模型进行训练,保留网络模型参数,获得字符识别模型。

如图5所示,在一个实施例中,根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符包括:

s1401、若所述第一字符识别结果和每个第二字符识别结果相同,计算旋转前的预处理字符图像的长宽比以及每次旋转后的预处理字符图像的长宽比;计算所述第一字符识别结果或第二字符识别结果的字符总长度;

由于实际商业应用中对字符识别准确率要求比较严格,因此需要确认步骤s120和步骤s130中的字符识别结果一致,才能提高实际识别准确的概率。因此该步骤中需要将获得的各个字符识别结果进行比较,如果各个字符识别结果均一致,则保留该字符识别结果,如果存在字符识别结果不一致,则舍弃字符识别结果。例如,采用如图2所示的识别方式获得四个字符识别结果:字符识别结果a、字符识别结果b、字符识别结果c和字符识别结果d,如果字符识别结果a=字符识别结果b=字符识别结果c=字符识别结果d,则保留,若四次字符识别结果不一致,则舍弃该字符识别结果。

旋转前的预处理字符图像为步骤s120中的预处理字符图像。例如,如图2所示,该步骤即分别计算预处理字符图像a、预处理字符图像b、预处理字符图像c和预处理字符图像d的四个长宽比ratio。

由于各个字符识别结果均相同,所以只需要根据其中任意一次的字符识别结果计算字符总长度strlen。

s1402、若所有的长宽比均大于所述字符总长度与第一比值的乘积且小于所述字符总长度与第二比值的乘积,将所述第一字符识别结果或第二字符识别结果作为所述待识别字符图像的字符识别结果。

第一比值a小于第二比值b,两个比值可以根据实际需要进行确定。例如,将a设置为1/2,将b设置为3/2,分别判断ratio∈((1/2)*strlen,(3/2)*strlen)是否成立,若各个ratio值属于此范围内,则将此字符识别结果确定为最终的识别结果,若部分ratio值不属于此范围内,则舍弃该字符识别结果。

当字符图像的像素点或者内容比较对称的时候,容易造成各个字符识别结果一致,如果出现误识别,则会把错误的结果当成最终输出,而通过图5所示的实施例可以有效解决该问题,进一步筛选出正确的字符识别结果。

为了更好地理解本发明,下面结合一个具体实施例进行详细介绍。

如图6所示,一种字符识别方法包括训练阶段和测试阶段:

s1、训练阶段:

s11、获取包含多个字符图像的训练样本集,对训练样本集进行灰度化;

s12、利用大津算法对灰度化后的训练样本集进行图像二值化,获得二值图像;

s13、对二值图像进行图像归一化,包括:将二值图像调整为黑色底面白色字符的样式;对二值图像去边界,并统一尺寸大小;其中调整样式和去除边界可以根据上面所述方式实现;

s14、取归一化后的二值图像训练bp神经网络模型,并保存神经网络模型参数,至此得到训练好的字符识别模型。

s2、测试阶段:

s21、获取待识别字符图像,对待识别字符图像进行灰度化;

s22、利用大津算法对灰度化后的待识别字符图像进行图像二值化,获得二值图像;

s23、对二值图像进行图像归一化,包括:将二值图像调整为黑色底面白色字符的样式;对二值图像去边界,并统一尺寸大小;其中调整样式和去除边界可以根据上面所述方式实现;

s24、取归一化后的二值图像利用训练好的bp神经网络模型(字符识别模型)进行识别,得到识别结果a,然后将归一化后的二值图像顺时针旋转90度后用训练好的bp神经网络模型识别得到识别结果b,然后将归一化后的二值图像顺时针旋转180度后用训练好的bp神经网络模型识别得到识别结果c,然后将旋转180度后的二值图像顺时针旋转90度后用训练好的bp神经网络模型识别得到识别结果d,确保对四个方向的字符图像分别识别一次得到四个识别结果,待下一步确定;

s25、判断识别结果a=识别结果b=识别结果c=识别结果d是否成立,若四次识别结果相同,则保留识别结果,进入下一步骤,若四次识别结果不一致,则舍弃该结果;

s26、分别计算出四个待识别字符图像的长宽比ratio以及得到的识别结果的字符总长度strlen。分别判断ratio∈((1/2)*strlen,(3/2)*strlen)是否成立,若所有ratio值属于此范围内,则将此结果确定为最终的识别结果,若条件不成立,则舍弃该结果。

基于同一发明构思,本发明还提供一种字符识别装置,下面结合附图对本发明字符识别装置的具体实施方式做详细介绍。

如图7所示,一种字符识别装置,包括:

字符图像预处理模块110,用于获取待识别字符图像,对所述待识别字符图像进行灰度化处理,获得预处理字符图像;

第一字符识别模块120,用于将所述预处理字符图像作为一个整体输入预设的字符识别模型,由所述字符识别模型计算出预处理字符图像的第一字符识别结果,其中所述字符识别模型由字符图像的训练样本集训练设定神经网络模型生成;

第二字符识别模块130,用于对所述预处理字符图像进行若干次旋转,将每次旋转后的预处理字符图像作为一个整体输入所述字符识别模型,由所述字符识别模型计算出每次旋转后的预处理字符图像的第二字符识别结果;

字符识别结果确定模块140,用于根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符。

本实施例所提供的字符识别装置(字符分类器)可以运行在终端中,例如手机、平板电脑或者计算机中。该装置对字符图像区域进行整体识别,省略了字符分割这一步骤,避免了字符分割时由于字符粘连而造成的误识别,有效鲁棒,具有较大的应用价值。另外,该装置通过图像旋转后各个字符识别结果的比较,有效避免了由于终端放置方式不同所引起的字符识别的误差,提高了实际识别准确的概率。

在一个实施例中,字符识别结果确定模块140在所述第一字符识别结果和每个第二字符识别结果相同时,计算旋转前的预处理字符图像的长宽比以及每次旋转后的预处理字符图像的长宽比;计算所述第一字符识别结果或第二字符识别结果的字符总长度;若所有的长宽比均大于所述字符总长度与第一比值的乘积且小于所述字符总长度与第二比值的乘积,将所述第一字符识别结果或第二字符识别结果作为所述待识别字符图像的字符识别结果。当字符图像的像素点或者内容比较对称的时候,容易造成各个字符识别结果一致,如果出现误识别,则会把错误的结果当成最终输出,而通过该实施例可以有效解决该问题,进一步筛选出正确的字符识别结果。

为了进一步提高字符识别的准确度,在一个实施例中,字符图像预处理模块110对所述待识别字符图像进行灰度化处理之后,获得预处理字符图像之前,还用于对灰度化后的待识别字符图像进行图像二值化,获得二值图像,对所述二值图像进行图像归一化。

在一个实施例中,字符图像预处理模块110通过将所述二值图像调整为黑色底面白色字符的样式对所述二值图像进行图像归一化。可选的,字符图像预处理模块110获取所述二值图像中的白色部分的第一轮廓;对所述二值图像进行黑白翻转处理,获取翻转后的二值图像中的白色部分的第二轮廓;分别计算所述第一轮廓的最大宽度和所述第二轮廓的最大宽度;若所述第一轮廓的最大宽度小于所述第二轮廓的最大宽度,保留黑白翻转前的二值图像,否则保留黑白翻转后的二值图像。

在一个实施例中,字符图像预处理模块110还通过将所述二值图像的边界去除,并将去除边界后的二值图像缩放至预设尺寸对所述二值图像进行图像归一化。可选的,字符图像预处理模块110对所述二值图像分别进行水平积分投影和垂直积分投影;遍历水平积分投影后所述二值图像的行像素,获取所述行像素中的起始行数和结束行数;遍历垂直积分投影后所述二值图像的列像素,获取所述列像素中的起始列数和结束列数;根据起始行数、结束行数、起始列数和结束列数设置所述二值图像中的感兴趣区域,将所述二值图像中除感兴趣区域外的边界去除。

上述字符识别装置的其它技术特征与上述字符识别方法相同,在此不予赘述。

如图8所示,在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

获取待识别字符图像,对所述待识别字符图像进行灰度化处理,获得预处理字符图像;

将所述预处理字符图像作为一个整体输入预设的字符识别模型,由所述字符识别模型计算出预处理字符图像的第一字符识别结果,其中所述字符识别模型由字符图像的训练样本集训练设定神经网络模型生成;

对所述预处理字符图像进行若干次旋转,将每次旋转后的预处理字符图像作为一个整体输入所述字符识别模型,由所述字符识别模型计算出每次旋转后的预处理字符图像的第二字符识别结果;

根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符。

在另一个实施例中,所述处理器执行所述程序时还实现以下步骤:根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符包括:若所述第一字符识别结果和每个第二字符识别结果相同,计算旋转前的预处理字符图像的长宽比以及每次旋转后的预处理字符图像的长宽比;计算所述第一字符识别结果或第二字符识别结果的字符总长度;若所有的长宽比均大于所述字符总长度与第一比值的乘积且小于所述字符总长度与第二比值的乘积,将所述第一字符识别结果或第二字符识别结果作为所述待识别字符图像的字符识别结果。

在另一个实施例中,所述处理器执行所述程序时还实现以下步骤:对所述待识别字符图像进行灰度化处理之后,获得预处理字符图像之前,还包括步骤:对灰度化后的待识别字符图像进行图像二值化,获得二值图像;对所述二值图像进行图像归一化。

在另一个实施例中,所述处理器执行所述程序时还实现以下步骤:对所述二值图像进行图像归一化包括:将所述二值图像调整为黑色底面白色字符的样式。

在另一个实施例中,所述处理器执行所述程序时还实现以下步骤:将所述二值图像调整为黑色底面白色字符的样式包括:获取所述二值图像中的白色部分的第一轮廓;对所述二值图像进行黑白翻转处理,获取翻转后的二值图像中的白色部分的第二轮廓;分别计算所述第一轮廓的最大宽度和所述第二轮廓的最大宽度;若所述第一轮廓的最大宽度小于所述第二轮廓的最大宽度,保留黑白翻转前的二值图像,否则保留黑白翻转后的二值图像。

在另一个实施例中,所述处理器执行所述程序时还实现以下步骤:对所述二值图像进行图像归一化还包括:将所述二值图像的边界去除,并将去除边界后的二值图像缩放至预设尺寸。

在另一个实施例中,所述处理器执行所述程序时还实现以下步骤:将所述二值图像的边界去除包括:对所述二值图像分别进行水平积分投影和垂直积分投影;遍历水平积分投影后所述二值图像的行像素,获取所述行像素中的起始行数和结束行数;遍历垂直积分投影后所述二值图像的列像素,获取所述列像素中的起始列数和结束列数;根据起始行数、结束行数、起始列数和结束列数设置所述二值图像中的感兴趣区域,将所述二值图像中除感兴趣区域外的边界去除。

上述计算机设备的其它技术特征与上述字符识别方法的技术特征相同,在此不予赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:

获取待识别字符图像,对所述待识别字符图像进行灰度化处理,获得预处理字符图像;

将所述预处理字符图像作为一个整体输入预设的字符识别模型,由所述字符识别模型计算出预处理字符图像的第一字符识别结果,其中所述字符识别模型由字符图像的训练样本集训练设定神经网络模型生成;

对所述预处理字符图像进行若干次旋转,将每次旋转后的预处理字符图像作为一个整体输入所述字符识别模型,由所述字符识别模型计算出每次旋转后的预处理字符图像的第二字符识别结果;

根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符。

在另一个实施例中,该计算机程序被处理器执行时还实现以下步骤根据所述第一字符识别结果和所述第二字符识别结果得出所述待识别字符图像中的字符包括:若所述第一字符识别结果和每个第二字符识别结果相同,计算旋转前的预处理字符图像的长宽比以及每次旋转后的预处理字符图像的长宽比;计算所述第一字符识别结果或第二字符识别结果的字符总长度;若所有的长宽比均大于所述字符总长度与第一比值的乘积且小于所述字符总长度与第二比值的乘积,将所述第一字符识别结果或第二字符识别结果作为所述待识别字符图像的字符识别结果。

在另一个实施例中,该计算机程序被处理器执行时还实现以下步骤:对所述待识别字符图像进行灰度化处理之后,获得预处理字符图像之前,还包括步骤:对灰度化后的待识别字符图像进行图像二值化,获得二值图像;对所述二值图像进行图像归一化。

在另一个实施例中,该计算机程序被处理器执行时还实现以下步骤:对所述二值图像进行图像归一化包括:将所述二值图像调整为黑色底面白色字符的样式。

在另一个实施例中,该计算机程序被处理器执行时还实现以下步骤:将所述二值图像调整为黑色底面白色字符的样式包括:获取所述二值图像中的白色部分的第一轮廓;对所述二值图像进行黑白翻转处理,获取翻转后的二值图像中的白色部分的第二轮廓;分别计算所述第一轮廓的最大宽度和所述第二轮廓的最大宽度;若所述第一轮廓的最大宽度小于所述第二轮廓的最大宽度,保留黑白翻转前的二值图像,否则保留黑白翻转后的二值图像。

在另一个实施例中,该计算机程序被处理器执行时还实现以下步骤:对所述二值图像进行图像归一化还包括:将所述二值图像的边界去除,并将去除边界后的二值图像缩放至预设尺寸。

在另一个实施例中,该计算机程序被处理器执行时还实现以下步骤:将所述二值图像的边界去除包括:对所述二值图像分别进行水平积分投影和垂直积分投影;遍历水平积分投影后所述二值图像的行像素,获取所述行像素中的起始行数和结束行数;遍历垂直积分投影后所述二值图像的列像素,获取所述列像素中的起始列数和结束列数;根据起始行数、结束行数、起始列数和结束列数设置所述二值图像中的感兴趣区域,将所述二值图像中除感兴趣区域外的边界去除。

上述计算机可读存储介质的其它技术特征与上述字符识别方法的技术特征相同,在此不予赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1