字符切分识别方法、装置、电子设备、存储介质
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种字符切分识别方法、装置、电子设备、存储介质。
背景技术
OCR(Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程。为了实现这个目的,一般分为字符切分和字符识别两个过程。目前常用的字符切分算法包括基于连通域的字符切分法及基于固定字符宽度的字符切分法。目前常用的字符识别算法包括基于统计机器学习的字符识别算法。
然而,现有的字符切分和识别算法具有如下缺陷:
1)支持字符集较小。由于分类器的选择和具体设计问题,往往只能识别数十或数百个字符。
2)不支持中英文结合。由于中文和英文字符的宽度不同,在切分和中英文结合的文字时往往会出现错切和漏切的现象。
3)不能识别复杂汉字。由于复杂汉字与简单汉字的特征差异较大,导致分类器往往只能支持简单汉字的识别。
4)总体识别率低。切分和识别两个环节都扮演了重要的角色,任何一项出了问题都会极大的影响识别率。
发明内容
本发明为了克服上述相关技术存在的缺陷,提供一种字符切分识别方法、装置、电子设备、存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本发明的一个方面,提供一种字符切分识别方法,包括:
依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分;
依据不同类型字符的宽度对待识别图像的字符切分的修正;
将经切分的待识别图像输入一经字符样本集训练的分类器中,所述字符样本集包括经数据增广的样本图像;以及
根据所述分类器的输出,识别所述待识别图像中的字符。
可选地,所述依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分包括:
依据所述待识别图像的像素阵列的各像素行上的,像素值为预设像素值的像素点数量,与一第一预设阈值之间的比较,对所述待识别图像进行行切分,以获得至少一字符行;
依据所切分的每一字符行,依据该字符行的像素阵列的各像素列上的,像素值为预设像素值的像素点数量,与一第二预设阈值之间的比较,对每一字符行进行字符切分。
可选地,所述依据所述待识别图像的像素阵列的各像素行上的,像素值为预设像素值的像素点数量,与一第一预设阈值之间的比较,对所述待识别图像进行行切分,以获得至少一字符行包括:
当所述待识别图像的像素阵列的像素行上的,像素值为预设像素值的像素点数量,小于等于第一预设阈值,则将该像素行标记为准可切分行;
对各准可切分行,与该准可切分行相邻的两像素行中至多一像素行为准可切分行的准可切分行标记为可切分行;
按所述可切分行对待识别图像进行行切分,以获得至少一字符行。
可选地,所述依据所切分的每一字符行,依据该字符行的像素阵列的各像素列上的,像素值为预设像素值的像素点数量,与一第二预设阈值之间的比较,对每一字符行进行字符切分包括:
当字符行的像素阵列的各像素列上的,像素值为预设像素值的像素点数量,小于第二预设阈值时,则将该像素列标记为准可切分列。
可选地,所述依据不同类型字符的宽度修正对待识别图像的字符切分包括:
遍历准可切分列,判断在像素行的方向上距离该准可切分列第一宽度、和第二宽度的四个像素列中,准可切分列的数量是否大于等于两个,所述第一宽度和所述第二宽度依据不同类型字符的宽度而定;
若是,则保留该准可切分列的标记;以及
若否,则删除该准可切分列的标记。
可选地,所述依据不同类型字符的宽度修正对待识别图像的字符切分还包括:
遍历经筛选后的准可切分列,判断相邻准可切分列之间的距离是否皆小于等于一字符行高度的s倍,s为大于1小于等于2的常数;
若是,则将各准可切分列标记为可切分列,并按所述可切分列切分各字符行;
若否,则增加第二预设阈值,并再次执行所述字符切分和字符切分的修正。
可选地,所述依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分之前还包括:
对所述待识别图像进行预处理,以获得一灰度图像及一二值化图像,所述二值化图像用于统计像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,及进行字符切分的位置,所述灰度图像用于按所述字符切分的位置进行切分获得经切分的多个字符图像。
可选地,所述样本图像通过如下步骤进行经数据增广:随机设定该字符的字体、字号、字符灰度值中的一项或多项。
可选地,所述样本图像还通过如下步骤进行经数据增广:
随机设定具有字符的样本图像的旋转角度、放射幅度、透视角度、干扰线及滤波种类中的一项或多项。
可选地,所述分类器为基于卷积神经网络的字符分类器。
根据本发明的又一方面,还提供一种字符切分识别装置,包括:
切分模块,用于依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分;
切分修正模块,用于依据不同类型字符的宽度对待识别图像的字符切分的修正;
分类模块,用于将经切分的待识别图像输入一经字符样本集训练的分类器中,所述字符样本集包括经数据增广的样本图像;以及
识别模块,用于根据所述分类器的输出,识别所述待识别图像中的字符。
根据本发明的又一方面,还提供一种电子设备,所述电子设备包括:处理器;存储介质,其上存储有计算机程序,所述计算机程序被所述处理器运行时执行如上所述的步骤。
根据本发明的又一方面,还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上所述的步骤。
相比现有技术,本发明的优势在于:
一方面,通过不同类型字符的宽度对待识别图像的字符切分的修正以使本发明提供的字符切分识别方法能够准确切分不同类型的字符(例如中文字符、英文字符、数字字符等);另一方面,本发明通过使每个字符具有多个不同属性的样本图像的字符样本集训练分类器,以此增加分类器可识别的字符数,并提供复杂字符的识别准确率。本发明尤其适用于印刷体字符的识别,对印刷体字符的识别准确率提高尤为显著。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1示出了根据本发明实施例的字符切分识别方法的流程图。
图2示出了根据本发明具体实施例的字符切分的流程图。
图3示出了根据本发明具体实施例的行切分的流程图。
图4示出了根据本发明具体实施例的字符切分并修正的流程图。
图5示出了根据本发明具体实施例的自动生成字符样本集的流程图。
图6示出了根据本发明实施例的字符切分识别装置的模块图。
图7示出了根据本发明具体实施例的字符切分识别装置的模块图。
图8示意性示出本发明示例性实施例中一种计算机可读存储介质示意图。
图9示意性示出本发明示例性实施例中一种电子设备示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此,实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明实施例的字符切分识别方法的流程图。参考图1,所述字符切分识别方法包括如下步骤:
步骤S110:依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分;
步骤S120:依据不同类型字符的宽度对待识别图像的字符切分的修正;
步骤S130:将经切分的待识别图像输入一经字符样本集训练的分类器中,所述字符样本集包括经数据增广的样本图像;以及
步骤S140:根据所述分类器的输出,识别所述待识别图像中的字符。
在本发明的示例性实施方式的字符切分识别方法中,一方面,通过不同类型字符的宽度对待识别图像的字符切分的修正以使本发明提供的字符切分识别方法能够准确切分不同类型的字符(例如中文字符、英文字符、数字字符等);另一方面,本发明通过使每个字符具有多个不同属性的样本图像的字符样本集训练分类器,以此增加分类器可识别的字符数,并提供复杂字符的识别准确率。本发明尤其适用于印刷体字符的识别,对印刷体字符的识别准确率提高尤为显著。
在本发明的一些实施例中,在上述步骤S110之前还包括对待识别图像进行预处理的步骤。
具体而言,图像预处理可以包括如下步骤中的一项或多项:对待识别图像进行灰度化处理;对待识别图像进行高斯滤波;对待识别图像进行局部自适应二值化。
具体而言,在灰度化处理的步骤中,根据每个像素点的RGB值可计算处该像素点的灰度值,例如,灰度值=0.299*R+0.587*G+0.114*B。由此,对各个像素点进行灰度值计算以得到灰度图像。在对待识别图像进行高斯滤波的步骤中,优选地,采用核尺寸3*3(3像素点*3像素点)的高斯滤波器进行图像平滑降噪。在本实施例中,对待识别图像进行高斯滤波实际上即为对灰度图像进行高斯滤波。在对待识别图像进行局部自适应二值化的步骤中,设定像素邻域大小为9*9(9像素点*9像素点),采用高斯加权法计算像素点的阈值(大于等于该阈值的统一为一个值(显示为黑色),小于该阈值的统一为另一个值(显示为白色)),由此,即可得到二值图像。在本实施例中,对待识别图像进行局部自适应二值化实际上即为对滤波后的灰度图像进行局部自适应二值化。
经过上述预处理步骤后,我们可以得到一幅灰度图像(经高斯滤波的灰度图像)和一幅文字与背景分离清晰的二值化图像,其中,二值化图像是用于步骤S110和步骤S120中统计像素点和切分位置的图像。灰度图像用于根据二值图
下面参见图2,图2示出了根据本发明具体实施例的字符切分(即图1中步骤S110)的流程图。
如图2所示,上述步骤S110所述依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分包括如下步骤:
步骤S210:依据所述待识别图像的像素阵列的各像素行上的,像素值为预设像素值的像素点数量(例如像素点显示为黑色的像素点的数量,预设像素值使所述像素显示为黑色),与一第一预设阈值之间的比较,对所述待识别图像进行行切分,以获得至少一字符行;
步骤S210:依据所切分的每一字符行,依据该字符行的像素阵列的各像素列上的,像素值为预设像素值的像素点数量,与一第二预设阈值之间的比较,对每一字符行进行字符切分。
具体而言,如图2所示的步骤中,待识别图像实际可以是预处理后的二值化图像。
下面参见图3,图3示出了根据本发明具体实施例的行切分(图2中步骤S210)的流程图。
如图3所示,上述步骤S210,所述依据所述待识别图像的像素阵列的各像素行上的,像素值为预设像素值的像素点数量,与一第一预设阈值之间的比较,对所述待识别图像进行行切分,以获得至少一字符行包括如下步骤:
步骤S310:当所述待识别图像的像素阵列的像素行上的,像素值为预设像素值的像素点数量,小于等于第一预设阈值,则将该像素行标记为准可切分行;
步骤S320:对各准可切分行,与该准可切分行相邻的两像素行中至多一像素行为准可切分行的准可切分行标记为可切分行;
步骤S330:按所述可切分行对待识别图像进行行切分,以获得至少一字符行。
具体而言,第一预设阈值可以是n×一像素行的像素点个数。本发明并非以此为限,n可以取0.02或者其它大于0且接近0的常数。进一步地,上述步骤S320考虑到字符行之间通常会有多条相邻的准可切分行,通过对各准可切分行的相邻像素行的属性判断即可,将与文字邻近的准可切分行标记为可切分行,以进行行切分。通过行切分会获得空白行及字符行,上述步骤中还可以包括剔除空白行,保留字符行的步骤。由此,通过行切分的步骤,可以得到(二值化的)字符行及字符行的高度信息等。
下面参见图4,图4示出了根据本发明具体实施例的字符切分并修正(图2中步骤S220及图1中步骤S120)的流程图。
如图4所示,上述步骤S220依据所切分的每一字符行,依据该字符行的像素阵列的各像素列上的,像素值为预设像素值的像素点数量,与一第二预设阈值之间的比较,对每一字符行进行字符切分包括:
步骤S410:当字符行的像素阵列的各像素列上的,像素值为预设像素值的像素点数量,小于第二预设阈值时,则将该像素列标记为准可切分列。
上述步骤S120依据不同类型字符的宽度修正对待识别图像的字符切分包括:
S420:判断在像素行的方向上距离该准可切分列第一宽度、和第二宽度的四个像素列中,准可切分列的数量是否大于等于两个,所述第一宽度和所述第二宽度依据不同类型字符的宽度而定;
若是,则执行步骤S430保留该准可切分列的标记。
若否,则执行步骤S440删除该准可切分列的标记。
步骤S450:判断是否遍历完所有准可切分列。
若否,则对下一准可切分列执行步骤S420至步骤S440。
若是,则执行步骤S460:遍历经筛选后的准可切分列,判断相邻准可切分列之间的距离是否皆小于等于一字符行高度的s倍,s为大于1小于等于2的常数;
若是,则执行步骤S470:将各准可切分列标记为可切分列,并按所述可切分列切分各字符行;
若否,则执行步骤S480:增加第二预设阈值,并再次执行步骤S410至步骤S470的所述字符切分和字符切分的修正。
具体而言,在本实施例中,第二预设阈值例如可以是m×一字符行中的一像素列的像素点个数m可以是大于等于0.01小于等于0.2的常数,m初始可以取0.01。考虑到对于字符切分环节,常常出现错切或漏切的问题,鉴于字符行高度已经确定,不同类型的字符的宽度有各自的设定,例如,中文字符的宽度和高度近似相同、英文字符和数字的宽度近似是高度的二分之一,因此,通过上述步骤S420至步骤S450对准可切分列进行遍历,判断可切分列两侧一个英文字符(数字字符)宽度和一个中文字符宽度的位置合计四个像素列是否为准可切分列,如果该四个像素列中,准可切分列等于2个则保留该准可切分列的标记,否则删除该准可切分列的标记(相当于普通的像素列)。然后,通过步骤S460再次遍历准可切分列,如果不存在字符宽度大于s×字符行高度(s为大于1的常数),则将准可切分列作为可切分列用来切分字符,否则调高第二预设阈值重新进行字符切分步骤和切分修正步骤。
具体而言,准可切分列在执行步骤S420至步骤S480之前,按准可切分行的筛选步骤进行初步筛选。
经过以上步骤确定字符的切分位置,在前述的灰度图像上对应的位置进行切分,得到单字符灰度图像。
具体而言,上述步骤S130的字符样本集中,所述样本图像通过如下步骤进行经数据增广:随机设定该字符的字体、字号、字符灰度值中的一项或多项。进一步地,所述样本图像还通过如下步骤进行经数据增广:随机设定具有字符的样本图像的旋转角度、放射幅度、透视角度、干扰线及滤波种类中的一项或多项。可参见图5,图5示出了根据本发明具体实施例的自动生成字符样本集的流程图。
在本实施例中,仿照前述的单字符灰度图像,可自动生成大量灰度图像样本用于训练分类器。选取多个常用的中英文数字(如6793个字符),每个字符制作多个样本(例如设定每个字符制作1000样本,又例如,针对复杂的中文字符生成更多的样本图像,针对简单的中文、英文、数字字符生成相对较少的样本图像,以减少***负荷),每个样本的生成步骤如图5所示:
步骤S510:创建一幅纯白图像。
步骤S520:随机选择一种常用字体(例如宋体、仿宋、黑体等,本发明并非以此为限)。
步骤S530:随机选择一个字号(例如24~48,本发明并非以此为限)。
步骤S540:随机选择字符灰度值。
步骤S550:在纯白图像中写入字符。
步骤S560:随机选择旋转、放射、透视角度。
步骤S570:对字符边缘进行裁切,只保留矩形字符区域。
步骤S580:随机添加干扰线(例如干扰线条)。
步骤S590:随机进行均值滤波、高斯滤波。
将制作好的单字符灰度图像生成字符样本集,用于训练字符分类器。
具体而言,本发明中所述分类器为基于卷积神经网络的字符分类器。在一个具体实施例中,字符分类器的输入尺寸归一化为32*32(32像素点*32像素点),归一化方法为双立方插值,输出结果为每个字符类别的置信度(在本具体实施例中,供6793个字符,置信度取值为0~1)。将基于卷积神经网络的字符分类器的损失函数设定为交叉熵损失。将基于卷积神经网络的字符分类器的优化器设定为Adam优化器,初始学习率设置为0.001。训练数据为字符样本生成器生成的数据,每个字符例如包括1000个样本。批训练的批尺寸(BatchSize)大小可以设置为32。利用早停止(Early Stopping)技术来停止训练。在实际测试中,使用以上训练方式训练字符分类器,训练停止后训练集准确率可达到99.2%,真实样本准确率可达97.6%。
以上仅仅是示意性地示出本发明的多个实施例,在不违背本发明构思的前提下,步骤的合并、拆分、并行执行、交换顺序等变化都在本发明的保护范围之内。
下面结合图6描述本发明提供的字符切分识别装置。图6示出了根据本发明实施例的字符切分识别装置的模块图。字符切分识别装置600包括切分模块610、切分修正模块620、分类模块630及识别模块640。
切分模块610用于依据待识别图像的像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,对包含至少一行字符的待识别图像进行字符切分;
切分修正模块620用于依据不同类型字符的宽度对待识别图像的字符切分的修正;
分类模块630用于将经切分的待识别图像输入一经字符样本集训练的分类器中,所述字符样本集包括经数据增广的样本图像;以及
识别模块640用于根据所述分类器的输出,识别所述待识别图像中的字符。
在本发明的示例性实施方式的字符切分识别装置中,一方面,通过不同类型字符的宽度对待识别图像的字符切分的修正以使本发明提供的字符切分识别方法能够准确切分不同类型的字符(例如中文字符、英文字符、数字字符等);另一方面,本发明通过使每个字符具有多个不同属性的样本图像的字符样本集训练分类器,以此增加分类器可识别的字符数,并提供复杂字符的识别准确率。本发明尤其适用于印刷体字符的识别,对印刷体字符的识别准确率提高尤为显著。
进一步地,参考图7,图7示出了根据本发明具体实施例的字符切分识别装置的模块图。字符切分识别装置700包括预处理模块710、切分模块720、切分修正模块730、字符样本集生成模块740、分类模块750及识别模块760。切分模块720、切分修正模块730、分类模块750及识别模块760的作用与图6所示的切分模块610、切分修正模块620、分类模块630及识别模块640相同。与图6不同的是,预处理模块710用于对所述待识别图像进行预处理,以获得一灰度图像及一二值化图像,所述二值化图像用于统计像素阵列的各像素行和各像素列上的,像素值为预设像素值的像素点数量,及进行字符切分的位置,所述灰度图像用于按所述字符切分的位置进行切分获得经切分的多个字符图像。字符样本集生成模块740用于对各字符,随机设定该字符的各个属性以自动生成该字符的样本图像
图7仅仅是示意性地示出本发明的实施例,本发明并非以此为限。
以上仅仅是示意性地示出本发明的多个实施例,在不违背本发明构思的前提下,模块的合并、拆分等变化都在本发明的保护范围之内。
在本发明的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被例如处理器执行时可以实现上述任意一个实施例中所述电子处方流转处理方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、C++等,还包括常规的过程式程序设计语言-诸如“C”语言或类似的程序设计语言。程序代码可以完全地在租户计算设备上执行、部分地在租户设备上执行、作为一个独立的软件包执行、部分在租户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到租户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
在本发明的示例性实施例中,还提供一种电子设备,该电子设备可以包括处理器,以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一个实施例中所述电子处方流转处理方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图9来描述根据本发明的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同***组件(包括存储单元920和处理单元910)的总线930、显示单元940等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图1所示的步骤。
所述存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
所述存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块6205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得租户能与该电子设备900交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器960可以通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明实施方式的上述电子处方流转处理方法。
相比现有技术,本发明的优势在于:
一方面,通过不同类型字符的宽度对待识别图像的字符切分的修正以使本发明提供的字符切分识别方法能够准确切分不同类型的字符(例如中文字符、英文字符、数字字符等);另一方面,本发明通过使每个字符具有多个不同属性的样本图像的字符样本集训练分类器,以此增加分类器可识别的字符数,并提供复杂字符的识别准确率。本发明尤其适用于印刷体字符的识别,对印刷体字符的识别准确率提高尤为显著。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。