一种字符分割方法、装置及电子设备与流程

文档序号:12272282阅读:284来源:国知局
一种字符分割方法、装置及电子设备与流程

本申请涉及字符识别技术领域,具体涉及一种字符分割方法、装置及电子设备。本申请同时涉及一种字符识别系统,以及一种图像分离方法、装置及电子设备,一种斜体字矫正方法、装置及电子设备。



背景技术:

OCR(Optical Character Recognition,光学字符识别)是指对文本资料的图像文件进行分析识别处理,获取文字信息的过程。该技术最初用于邮政系统的邮编数字识别,以实现邮件自动分拣功能。随着光学成像设备(扫描仪、数码相机、手机等)的飞速发展,OCR也获得了广泛的应用,例如2010年第六届全国人口普查就使用了OCR技术对约8亿份表单进行自动信息录入的操作,极大的减少了人力成本。

OCR技术通常包含以下几个步骤:1)对输入图像进行预处理,包括灰度化处理等;2)版面分析提取文本行图像;3)生成二值化的文本行图像;3)对二值化的文本行图像进行字符分割;4)字符识别输出结果。其中,字符分割是整个字符识别过程中众多决策环节之一,对最终的识别性能有着极大的影响。字符分割是将单行文本图像中的每个字符图像(包括汉字,英文字母,数字,标点等)切分出来,字符分割质量的好坏,直接影响OCR系统的性能。显然,只有正确的切分才可能被识别器正确识别,切分错误的字符将不可能被正确识别。目前,单个字符识别技术已经相当成熟,根据实用系统开发结果表明,系统最终识别结果错误的大部分原因的由切分错误造成。因此,一个好的字符分割方法就显得非常重要。

目前,常见的字符分割方法主要包括以下几种:

1)基于垂直投影的字符分割方法

该方法首先对输入图像的垂直扫描线上出现的黑色像素点的个数进行统计,再根据统计值特征在波谷处进行字符分割。

2)基于断字的字符分割方法

该方法通常包含一个估计子函数、一个合并子函数以及一个判别子函数。 首先通过垂直投影得到字符的字间距、字宽和字的中心距等信息,然后用估计子函数估计出平均字宽,平均字间距,再利用合并子函数对每个切分出来的部分进行处理,对可能是字符断裂造成的错误切分进行合并,然后由判别子函数进行判断,是否决定接受该合并。

3)基于数学形态学的字符分割方法

形态学通过运用特定领域的形态变换来完成图像的几何特征分析,形态变换通过选择已知结构的较小影像特征集合——结构元素与目标的相互作用来实现。所有形态变换可由“腐蚀/膨胀”、“厚化/薄化”、“断开/闭合”等基本形态变换并选择适当的元素结构及图像集合运算来构成。

4)基于连通域分析的字符分割方法

该方法按照属于同一个字符的像素构成一个连通域的原则进行切分,对那些连通域较大的区域通过字宽等一些策略进行再切分。

5)基于识别的字符分割方法

该方法一般利用滑动窗口的方式,一个限制窗沿着字行滑动,在窗内的部分图像被送去识别,若它能满足一定的识别条件,则认为是一个正确的分割,否则调整限制窗的大小。

上述常用的字符分割方法,大多需要依靠图像字符的先验信息,例如,字宽、字高、字间距和字的中心距等,适用于对较为规则的文本行图像进行字符分割。然而,由于二值化处理后的文本行图像可能存在字符断裂、字符模糊及背景干扰等现象,因此可能导致过度分割二值化处理后的文本行图像。

综上所述,现有技术存在过度分割具有字符断裂或字符模糊等现象的字符图像的问题。



技术实现要素:

本申请提供一种字符分割方法、装置及电子设备,以解决现有技术存在过度分割具有字符断裂或字符模糊等现象的字符图像的问题。本申请另外提供一种字符识别系统,以及一种图像分离方法、装置及电子设备,一种斜体字矫正方法、装置及电子设备。

本申请提供一种字符分割方法,包括:

通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候 选分割点;所述待分割字符图像是指,从原始灰度字符图像中分离获得的去除背景图像的前景字符图像;

根据所述原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点;

根据所述正确分割点,对所述待分割字符图像进行字符分割。

可选的,所述根据所述原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点,包括:

针对各个候选分割点,从所述原始灰度字符图像中截取分别位于所述候选分割点左侧的相邻候选分割点与右侧的相邻候选分割点之间的图像;

通过所述预先生成的分割点分类器,获取各个截取的图像包括正确分割点的概率;

若所述包括正确分割点的概率大于预设的正确分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为正确分割点。

可选的,还包括:

若所述包括正确分割点的概率小于预设的错误分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为错误分割点;

若所述包括正确分割点的概率小于等于所述预设的正确分割点概率阈值,并且大于等于所述预设的错误分割点概率阈值,则判定所述候选分割点为不确定的分割点;

针对各个所述不确定的分割点,从所述原始灰度字符图像中截取位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点之间的图像、位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,以及位于所述不确定的分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,分别作为左侧图像、中间图像和右侧图像;

通过预设的字符识别装置,获取所述左侧图像为字符的概率、所述中间图像为字符的概率和所述右侧图像为字符的概率;

若所述左侧图像为字符的概率和所述右侧图像为字符的概率均大于所述中间图像为字符的概率,则判定所述不确定的候选分割点为正确分割点。

可选的,所述预先生成的分割点分类器,采用如下步骤生成:

获取由历史前景字符图像及其是否包括正确分割点的实际结果的向量对组成的训练集;

通过机器学习算法,从所述训练集中学习获得所述分割点分类器。

可选的,所述机器学习算法包括贝叶斯算法、决策树算法、支持向量机算法或神经网络算法。

可选的,所述机器学习算法采用卷积神经网络算法;所述通过机器学习算法,从所述训练集中学习获得所述分割点分类器,包括:

遍历所述训练集中的各个训练数据,以所述训练数据包括的历史前景字符图像作为预设的卷积神经网络模型的输入图像,计算获取所述预设的卷积神经网络模型的输出,作为各个训练数据的预测结果;

计算各个训练数据的所述预测结果与所述实际结果的差值的平方和,作为所述训练集的本次迭代误差;

判断所述本次迭代误差是否小于上次迭代误差;若是,则根据预设的学习速率,调整所述预设的卷积神经网络模型的权矩阵,并返回所述遍历所述训练集中的各个训练数据的步骤,继续训练;若否,则将调整后的卷积神经网络模型,作为所述分割点分类器。

可选的,在所述通过预设的分割点生成算法,获取待分割字符图像的字符分割点之前,还包括:

对所述原始灰度字符图像进行图像分离处理,生成所述待分割字符图像。

可选的,所述对所述原始灰度字符图像进行图像分离处理,生成所述待分割字符图像,采用如下方式:

对所述原始灰度字符图像进行二值化处理,生成二值化字符图像,作为所述待分割字符图像。

可选的,所述对所述原始灰度字符图像进行二值化处理,生成二值化字符图像,包括:

通过全局二值化算法,获取所述原始灰度字符图像的前景像素的像素阈值,作为第一像素阈值;

将所述原始灰度字符图像中像素值小于所述第一像素阈值的像素,作为第 一前景像素;

将由所述第一前景像素构成的图像,作为第一前景图像;

通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像。

可选的,所述通过全局二值化算法,获取所述原始灰度字符图像的前景像素的像素阈值,包括:

分别以所述原始灰度字符图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差;

选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述原始灰度字符图像的前景像素的像素阈值。

可选的,所述类间方差采用下述公式计算:

σ2=ω0·(μ0-μ)21·(μ1-μ)2

其中,σ2是所述类间方差,μ是所述原始灰度字符图像的平均像素值,ω0是所述前景图像的像素数量与所述原始灰度字符图像的像素数量的比值,ω1是所述背景图像的像素数量与所述原始灰度字符图像的像素数量的比值,μ0是所述前景图像的平均像素值,μ1是所述背景图像的平均像素值,μ=ω0μ01μ1,ω0=N0/(M*N),ω1=N1/(M*N),M和N是所述原始灰度字符图像的宽和高,M*N是所述原始灰度字符图像包括的像素数量,N0为所述前景图像的像素数量,N1为所述背景图像的像素数量。

可选的,所述通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像,包括:

针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差;

根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值;

逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色;

将更新像素值后所述第一前景图像,作为所述二值化字符图像。

可选的,所述根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的第二前景像素的像素阈值,采用下述公式:

T(i,j)=m(i,j)+k·σ(i,j)

其中,T(i,j)是与所述第一前景图像中第i行第i列的像素对应的第二像素阈值,m(i,j)是与所述第一前景图像中第i行第i列的像素对应的平均像素值,σ(i,j)是与所述第一前景图像中第i行第i列的像素对应的像素值方差,k是方差因子。

可选的,所述预设尺寸的子图像包括正方形。

可选的,在所述通过预设的字符分割算法,获取待分割字符图像的字符分割点之前,还包括:

对所述待分割字符图像进行斜体字矫正处理,生成斜体字矫正后的待分割字符图像。

可选的,所述对所述待分割字符图像进行斜体字矫正处理,生成斜体字矫正后的待分割字符图像,包括:

获取所述待分割字符图像包括的各个字符的预设边缘像素;

根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;

根据所述斜体字矫正角度,对所述待分割字符图像进行斜体字矫正,生成所述斜体字矫正后的待分割字符图像。

可选的,所述预设边缘像素包括左边缘像素或右边缘像素。

可选的,所述预设边缘像素为左边缘像素;所述获取所述待分割字符图像包括的各个字符的预设边缘像素,采用如下方式:

若像素的像素值小于其左相邻像素的像素值,并且所述左相邻像素为白色,则将所述像素作为所述字符的左边缘像素。

可选的,所述根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,采用如下方式:

根据所述获取的预设边缘像素,计算所述起始矫正角度到所述终止矫正角度之间的各个倾斜角度的信息熵,选取排在低位的信息熵对应的倾斜角度作为所述斜体字矫正角度。

可选的,所述根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,包括:

遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理;

对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图;

根据所述投影直方图,计算获取与各个角度分别对应的信息熵;

选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

可选的,所述信息熵采用下述公式计算:

其中,M是所述投影直方图的列数,N是所有字符的预设边缘像素的总数量,hi为投影到第i列的像素数量。

可选的,所述根据所述斜体字矫正角度,对所述待分割字符图像进行斜体字矫正,采用如下方式:

根据所述斜体字矫正角度,对所述待分割字符图像中各个字符包括的各个像素进行坐标平移处理。

可选的,所述对像素进行坐标平移处理,采用下述公式进行:

p(i,j)→p(i-j.tanθ,j)

其中,p(i,j)是待平移像素,i-j.tanθ是所述待平移像素移动到的像素位置的横坐标。

可选的,所述预设的分割点生成算法包括基于垂直投影的分割点生成算法、基于断字的分割点生成算法、基于数学形态学的分割点生成算法、基于连通域分析的分割点生成算法或基于识别的分割点生成算法。

可选的,所述预设的分割点生成算法采用基于垂直投影的分割点生成算法;所述通过预设的分割点生成算法,获取待分割字符图像的字符分割点,包括:

对所述待分割字符图像中的各个像素,进行横坐标方向轴的投影处理,并构建投影直方图;

针对所述投影直方图中的各个列,若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的右相邻列的像素数量大于所述列的像素数量, 则将所述列作为所述待分割字符图像的字符分割点;若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的多于1个右相邻列的像素数量等于所述列的像素数量,并且所述多于1个右相邻列的最右侧列的右相邻列的像素数量大于所述最右侧列的像素数量,则将所述列与所述最右侧列的右相邻列之间处于中间位置处的列作为所述待分割字符图像的字符分割点。

相应的,本申请还提供一种字符分割装置,包括:

生成候选分割点单元,用于通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点;所述待分割字符图像是指,从原始灰度字符图像中分离获得的去除背景图像的前景字符图像;

筛选单元,用于根据所述原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点;

分割单元,用于根据所述正确分割点,对所述待分割字符图像进行字符分割。

可选的,所述筛选单元包括:

第一截取子单元,用于针对各个候选分割点,从所述原始灰度字符图像中截取分别位于所述候选分割点左侧的相邻候选分割点与右侧的相邻候选分割点之间的图像;

第一计算子单元,用于通过所述预先生成的分割点分类器,获取各个截取的图像包括正确分割点的概率;

第一判断子单元,用于若所述包括正确分割点的概率大于预设的正确分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为正确分割点。

可选的,所述筛选单元还包括:

第二判断子单元,用于若所述包括正确分割点的概率小于预设的错误分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为错误分割点;

第三判断子单元,用于若所述包括正确分割点的概率小于等于所述预设的正确分割点概率阈值,并且大于等于所述预设的错误分割点概率阈值,则判定所述候选分割点为不确定的分割点;

第二截取子单元,用于针对各个所述不确定的分割点,从所述原始灰度字符图像中截取位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点之间的图像、位于所述不确定的分割点左侧的相邻正确分割点与所述不 确定的分割点右侧的相邻正确分割点之间的图像,以及位于所述不确定的分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,分别作为左侧图像、中间图像和右侧图像;

第二计算子单元,用于通过预设的字符识别装置,获取所述左侧图像为字符的概率、所述中间图像为字符的概率和所述右侧图像为字符的概率;

第四判断子单元,用于若所述左侧图像为字符的概率和所述右侧图像为字符的概率均大于所述中间图像为字符的概率,则判定所述不确定的候选分割点为正确分割点。

可选的,还包括:

生成分类器单元,用于生成所述预先生成的分割点分类器。

可选的,所述生成分类器单元包括:

获取子单元,用于获取由历史前景字符图像及其是否包括正确分割点的实际结果的向量对组成的训练集;

学习子单元,用于通过机器学习算法,从所述训练集中学习获得所述分割点分类器。

可选的,所述机器学习算法采用卷积神经网络算法;所述学习子单元包括:

第一计算子单元,用于遍历所述训练集中的各个训练数据,以所述训练数据包括的历史前景字符图像作为预设的卷积神经网络模型的输入图像,计算获取所述预设的卷积神经网络模型的输出,作为各个训练数据的预测结果;

第二计算子单元,用于计算各个训练数据的所述预测结果与所述实际结果的差值的平方和,作为所述训练集的本次迭代误差;

判断子单元,用于判断所述本次迭代误差是否小于上次迭代误差;若是,则根据预设的学习速率,调整所述预设的卷积神经网络模型的权矩阵,并返回所述遍历所述训练集中的各个训练数据的步骤,继续训练;若否,则将调整后的卷积神经网络模型,作为所述分割点分类器。

可选的,还包括:

图像分离单元,用于对所述原始灰度字符图像进行图像分离处理,生成所述待分割字符图像。

可选的,所述对所述原始灰度字符图像进行图像分离处理,生成所述待分 割字符图像,采用如下方式:

对所述原始灰度字符图像进行二值化处理,生成二值化字符图像,作为所述待分割字符图像。

可选的,所述图像分离单元包括:

第一计算子单元,用于通过全局二值化算法,获取所述原始灰度字符图像的前景像素的像素阈值,作为第一像素阈值;

第一筛选子单元,用于将所述原始灰度字符图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;

第一生成子单元,用于将由所述第一前景像素构成的图像,作为第一前景图像;

第二生成子单元,用于通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像。

可选的,所述第一计算子单元包括:

计算子单元,用于分别以所述原始灰度字符图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差;

选取子单元,用于选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述原始灰度字符图像的前景像素的像素阈值。

可选的,所述第二生成子单元包括:

第一计算子单元,用于针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差;

第二计算子单元,用于根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值;

判断子单元,用于逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色;

设置子单元,用于将更新像素值后所述第一前景图像,作为所述二值化字符图像。

可选的,还包括:

斜体字矫正单元,用于对所述待分割字符图像进行斜体字矫正处理,生成斜体字矫正后的待分割字符图像。

可选的,所述斜体字矫正单元包括:

获取子单元,用于获取所述待分割字符图像包括的各个字符的预设边缘像素;

计算子单元,用于根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;

矫正子单元,用于根据所述斜体字矫正角度,对所述待分割字符图像进行斜体字矫正,生成所述斜体字矫正后的待分割字符图像。

可选的,所述计算子单元包括:

坐标平移子单元,用于遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理;

投影子单元,用于对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图;

计算子单元,用于根据所述投影直方图,计算获取与各个角度分别对应的信息熵;

选取子单元,用于选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

可选的,所述预设的分割点生成算法采用基于垂直投影的分割点生成算法;所述生成候选分割点单元包括:

投影子单元,用于对所述待分割字符图像中的各个像素,进行横坐标方向轴的投影处理,并构建投影直方图;

判断子单元,用于针对所述投影直方图中的各个列,若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的右相邻列的像素数量大于所述列的像素数量,则将所述列作为所述待分割字符图像的字符分割点;若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的多于1个右相邻列的像素数量等于所述列的像素数量,并且所述多于1个右相邻列的最右侧列的右相邻列的像素数量大于所述最右侧列的像素数量,则将所述列与所述最 右侧列的右相邻列之间处于中间位置处的列作为所述待分割字符图像的字符分割点。

相应的,本申请还提供一种电子设备,包括:

显示器;

处理器;以及

存储器,所述存储器被配置成存储字符分割装置,所述字符分割装置被所述处理器执行时,包括如下步骤:通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点;所述待分割字符图像是指,从原始灰度字符图像中分离获得的去除背景图像的前景字符图像;根据原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点;根据所述正确分割点,对所述待分割字符图像进行字符分割。

此外,本申请还提供一种字符识别系统,包括:根据上述任一项所述的字符分割装置。

此外,本申请还提供一种图像分离方法,包括:

获取待分离灰度图像;

通过全局二值化算法,获取所述待分离灰度图像的前景像素的像素阈值,作为第一像素阈值;

将所述待分离灰度图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;

将由所述第一前景像素构成的图像,作为第一前景图像;

通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述待分离灰度图像的二值化图像。

可选的,所述通过全局二值化算法,获取所述待分离灰度图像的前景像素的像素阈值,包括:

分别以所述待分离灰度图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差;

选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述待分离灰度图像的前景像素的像素阈值。

可选的,所述类间方差采用下述公式计算:

σ2=ω0·(μ0-μ)21·(μ1-μ)2

其中,σ2是所述类间方差,μ是所述待分离灰度图像的平均像素值,ω0是所述前景图像的像素数量与所述待分离灰度图像的像素数量的比值,ω1是所述背景图像的像素数量与所述待分离灰度图像的像素数量的比值,μ0是所述前景图像的平均像素值,μ1是所述背景图像的平均像素值,μ=ω0μ01μ1,ω0=N0/(M*N),ω1=N1/(M*N),M和N是所述待分离灰度图像的宽和高,M*N是所述待分离灰度图像包括的像素数量,N0为所述前景图像的像素数量,N1为所述背景图像的像素数量。

可选的,所述通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像,包括:

针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差;

根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值;

逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色;

将更新像素值后所述第一前景图像,作为所述二值化字符图像。

可选的,所述根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的第二前景像素的像素阈值,采用下述公式:

T(i,j)=m(i,j)+k·σ(i,j)

其中,T(i,j)是与所述第一前景图像中第i行第i列的像素对应的第二像素阈值,m(i,j)是与所述第一前景图像中第i行第i列的像素对应的平均像素值,σ(i,j)是与所述第一前景图像中第i行第i列的像素对应的像素值方差,k是方差因子。

可选的,所述预设尺寸的子图像包括正方形。

相应的,本申请还提供一种图像分离装置,包括:

获取单元,用于获取待分离灰度图像;

第一计算单元,用于通过全局二值化算法,获取所述待分离灰度图像的前 景像素的像素阈值,作为第一像素阈值;

第一筛选单元,用于将所述待分离灰度图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;

第一生成单元,用于将由所述第一前景像素构成的图像,作为第一前景图像;

第二生成单元,用于通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述待分离灰度图像的二值化图像。

可选的,所述第一计算单元包括:

计算子单元,用于分别以所述待分离灰度图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差;

选取子单元,用于选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述待分离灰度图像的前景像素的像素阈值。

可选的,所述第二生成单元包括:

第一计算子单元,用于针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差;

第二计算子单元,用于根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值;

判断子单元,用于逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色;

设置子单元,用于将更新像素值后所述第一前景图像,作为所述二值化字符图像。

相应的,本申请还提供一种电子设备,包括:

显示器;

处理器;以及

存储器,所述存储器被配置成存储图像分离装置,所述图像分离装置被所述处理器执行时,包括如下步骤:获取待分离灰度图像;通过全局二值化算法, 获取所述待分离灰度图像的前景像素的像素阈值,作为第一像素阈值;将所述待分离灰度图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;将由所述第一前景像素构成的图像,作为第一前景图像;通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述待分离灰度图像的二值化图像。

此外,本申请还提供一种斜体字矫正方法,包括:

获取待矫正字符图像包括的各个字符的预设边缘像素;

根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;

根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,生成斜体字矫正后的字符图像。

可选的,所述预设边缘像素包括左边缘像素或右边缘像素。

可选的,所述预设边缘像素为左边缘像素;所述获取所述待矫正字符图像包括的各个字符的预设边缘像素,采用如下方式:

若像素的像素值小于其左相邻像素的像素值,并且所述左相邻像素为白色,则将所述像素作为所述字符的左边缘像素。

可选的,所述根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,采用如下方式:

根据所述获取的预设边缘像素,计算所述起始矫正角度到所述终止矫正角度之间的各个倾斜角度的信息熵,选取排在低位的信息熵对应的倾斜角度作为所述斜体字矫正角度。

可选的,所述根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,包括:

遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理;

对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图;

根据所述投影直方图,计算获取与各个角度分别对应的信息熵;

选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

可选的,所述信息熵采用下述公式计算:

其中,M是所述投影直方图的列数,N是所有字符的预设边缘像素的总数量,hi为投影到第i列的像素数量。

可选的,所述根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,采用如下方式:

根据所述斜体字矫正角度,对所述待矫正字符图像中各个字符包括的各个像素进行坐标平移处理。

可选的,所述对像素进行坐标平移处理,采用下述公式进行:

p(i,j)→p(i-j.tanθ,j)

其中,p(i,j)是待平移像素,i-j.tanθ是所述待平移像素移动到的像素位置的横坐标。

相应的,本申请还提供一种斜体字矫正装置,包括:

获取单元,用于获取待矫正字符图像包括的各个字符的预设边缘像素;

计算单元,用于根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;

矫正单元,用于根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,生成斜体字矫正后的字符图像。

可选的,所述计算单元包括:

坐标平移子单元,用于遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理;

投影子单元,用于对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图;

计算子单元,用于根据所述投影直方图,计算获取与各个角度分别对应的信息熵;

选取子单元,用于选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

相应的,本申请还提供一种电子设备,包括:

显示器;

处理器;以及

存储器,所述存储器被配置成存储斜体字矫正装置,所述斜体字矫正装置被所述处理器执行时,包括如下步骤:获取待矫正字符图像包括的各个字符的预设边缘像素;根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,生成斜体字矫正后的字符图像。

与现有技术相比,本申请具有以下优点:

本申请提供的字符分割方法、装置及电子设备,通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点,其中所述待分割字符图像是指,从原始灰度字符图像中分离获得的去除背景图像的前景字符图像;并根据原始灰度字符图像和预先生成的分割点分类器,从候选分割点中筛选获取正确分割点;最终,根据正确分割点,对待分割字符图像进行字符分割,使得能够利用原始灰度字符图像对候选分割点进行过滤,并获取正确分割点,避免过度分割具有字符断裂或字符模糊等现象的字符图像,从而达到提高字符分割准确度的效果。

附图说明

图1是本申请的字符分割方法实施例的流程图;

图2是本申请的字符分割方法实施例二值化处理的具体流程图;

图3是本申请的字符分割方法实施例步骤S201的具体流程图;

图4是本申请的字符分割方法实施例步骤S207的具体流程图;

图5是本申请的字符分割方法实施例各种二值化方法获取的二值化字符图像的对比图;

图6是本申请的字符分割方法实施例生成分割点分类器的具体流程图;

图7是本申请的字符分割方法实施例预设的卷积神经网络模型的结构示意图;

图8是本申请的字符分割方法实施例步骤S103的具体流程图;

图9是本申请的字符分割方法实施例步骤S103的又一具体流程图;

图10是本申请的字符分割方法实施例分割过程的示意图;

图11是本申请的字符分割方法实施例斜体字矫正处理的具体流程图;

图12是本申请的字符分割方法实施例步骤S1103的具体流程图;

图13是本申请的字符分割装置实施例的示意图;

图14是本申请的字符分割装置实施例筛选单元1303的具体示意图;

图15是本申请的字符分割装置实施例筛选单元1303的又一具体示意图;

图16是本申请的字符分割装置实施例的具体示意图;

图17是本申请的字符分割装置实施例计算子单元16053的具体示意图;

图18是本申请的电子设备实施例的示意图;

图19是本申请的图像分离方法实施例的流程图;

图20是本申请的图像分离装置实施例的示意图;

图21是本申请的又一电子设备实施例的示意图;

图22是本申请的斜体字矫正方法实施例的流程图;

图23是本申请的斜体字矫正装置实施例的示意图;

图24是本申请的再一电子设备实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

在本申请中,提供了一种字符分割方法、装置及电子设备,一种字符识别系统,一种图像分离方法、装置及电子设备,以及一种斜体字矫正方法、装置及电子设备。在下面的实施例中逐一进行详细说明。

本申请提供的字符分割方法的核心的基本思想是:利用原始灰度字符图像对候选分割点进行过滤,获取正确分割点,并根据正确分割点,对待分割字符图像进行字符分割。由于对候选分割点进行过滤后获取到正确分割点,因而能够避免过度分割具有字符断裂或字符模糊等现象的字符图像,从而达到提高字符分割准确度的效果。

请参考图1,其为本申请的字符分割方法实施例的流程图。所述方法包括如下步骤:

步骤S101:通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点。

本申请实施例所述的待分割字符图像是指,从原始灰度字符图像中分离获得的去除背景图像的前景字符图像。在实际应用中,去除背景图像的前景字符图像,既可以是保留了原始像素值的灰度字符图像,还可以是二值化字符图像。因此,本申请实施例所述的待分割字符图像,既可以是灰度字符图像,还可以是二值化字符图像。

本申请实施例提供的字符分割方法,在所述通过预设的分割点生成算法,获取待分割字符图像的字符分割点之前,还包括:对原始灰度字符图像进行图像分离处理,生成所述待分割字符图像。

在数字图像处理中,二值图像占有非常重要的地位,首先,图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。

因此,本申请实施例的图像分离处理采用二值化处理方法,即:对原始灰度字符图像进行二值化处理,生成二值化字符图像,作为待分割字符图像。

本申请实施例所述的二值化字符图像是指,将256个亮度等级的原始灰度字符图像通过适当的阈值选取而获得的仍然可以反映图像整体和局部特征的二值化图像。具体的,图像的二值化处理是指将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。所有灰度小于阈值的像素被判定为属于特定物体,其灰度值为0表示,否则这些像素点被排除在物体区域以外,灰度值为255,表示背景或者例外的物体区域。对于一般256级灰度的灰度图,0级灰度对应于黑色,255级对应于白色。二值化处理后,像素值为0的像素构成黑色前景文字,像素值为1的像素构成白色背景。

二值化算法包括全局二值化算法(Global Binariztion Method)和局部自适应二值化算法(Local Adaptive Binarization Method)两个类别。其中,全局二值化算法对每一幅图计算一个单一的阀值,灰度级大于该阈值的像素被标记为背景色,否则为前景像素。局部二值化算法,是以像素的邻域的信息为基础来计算每一个像素的阈值。具体的,部分局部二值化算法还会计算整个图像中的一个阈值面。如果图像中的一个像素(x,y)的灰度级高于在(x,y)点的阈值面的计算值, 那么把像素(x,y)标记为背景像素,否则为前景字符像素。

目前的图像二值化处理,通常采用单一的全局二值化算法或局部自适应二值化算法。然而,采用单一二值化算法对图像进行二值化处理,生成的二值化图像均存在一些缺陷,例如,单一的全局二值化算法将导致二值化图像的背景存在噪音点现象,单一的局部二值化算法将导致二值化图像的前景存在字符断裂现象。

因此,本申请实施例提供的字符分割方法,采用全局二值化算法和局部自适应二值化算法相结合的方式对原始灰度字符图像进行二值化处理。

请参考图2,其为本申请的字符分割方法实施例二值化处理的具体流程图。在本实施例中,对所述原始灰度字符图像进行二值化处理,生成二值化字符图像,包括:

步骤S201:通过全局二值化算法,获取所述原始灰度字符图像的前景像素的像素阈值,作为第一像素阈值。

常用的全局二值化算法包括:双峰直方图阈值分割法和平均灰度法、微分直方图、OSTU方法、Abutaleb方法、Kapur等人的方法、Kittler和Illingworth方法和OTSU方法等。在实际应用中,可以根据具体需求,选取上述任意一种全局二值化算法,获取原始灰度字符图像的前景像素的像素阈值。

请参考图3,其为本申请的字符分割方法实施例步骤S201的具体流程图。在本实施例中,采用Otsu全局二值化算法,获取所述原始灰度字符图像的前景像素的像素阈值,具体包括如下步骤:

步骤S2011:分别以所述原始灰度字符图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差。

最大类间方差法是由日本学者大津(Nobuyuki Otsu)于1979年提出的,是一种自适应的阈值确定的方法,又叫大津法,简称OTSU算法。它是按图像的灰度特性,将图像分成背景和前景两部分。背景和前景之间的类间方差越大,说明构成图像的两部分的差别越大,当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。综上所述,OTSU算法的核心是计算背景和前景的最大类间方差,把类间方差最大的像素值作为全局二值化的阈值。

在步骤S2011中,从最小灰度值到最大灰度值进行遍历,分别以原始灰度 字符图像中的每一个像素值为候选像素阈值,计算根据该候选像素阈值分离获取的背景图像与前景图像之间的类间方差。在本实施例中,所述类间方差采用下述公式计算:

σ2=ω0·(μ0-μ)21·(μ1-μ)2

其中,σ2是所述类间方差,μ是所述原始灰度字符图像的平均像素值,ω0是所述前景图像的像素数量与所述原始灰度字符图像的像素数量的比值,ω1是所述背景图像的像素数量与所述原始灰度字符图像的像素数量的比值,μ0是所述前景图像的平均像素值,μ1是所述背景图像的平均像素值,μ=ω0μ01μ1,ω0=N0/(M*N),ω1=N1/(M*N),M和N是所述原始灰度字符图像的宽和高,M*N是所述原始灰度字符图像包括的像素数量,N0为所述前景图像的像素数量,N1为所述背景图像的像素数量。

步骤S2011获取到与原始灰度字符图像中每一个像素值分别对应的类间方差,作为候选像素阈值。

步骤S2013:选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述原始灰度字符图像的前景像素的像素阈值。

从候选像素阈值中,选取排在高位的类间方差所对应的像素阈值,作为原始灰度字符图像的前景像素的像素阈值。在本实施例中,选取使得类间方差达到最大的候选像素阈值,作为原始灰度字符图像的前景像素的像素阈值。

步骤S203:将所述原始灰度字符图像中像素值小于所述第一像素阈值的像素,作为第一前景像素。

通过步骤S201获取到第一像素阈值后,将原始灰度字符图像中的每一个像素的像素值分别与第一像素阈值进行比较,如果像素值小于第一像素阈值,则将该像素作为第一前景像素,即:全局二值化处理后得到的前景像素。

步骤S205:将由所述第一前景像素构成的图像,作为第一前景图像。

所有判定为第一前景像素的像素构成第一前景图像。

步骤S207:通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像。

常用的局部二值化算法包括:Bernsen方法、Chow和Kaneko方法、Eikvil等人的方法、Markia和Hainsworth方法、Niblack方法、Taxt等人的方法、Yanowitz和Bruckstein方法、White和Rohrer的动态阈值算法、Parker方法、White和Rohrer 的集成函数算法和Trier和Taxt方法等。在实际应用中,可以根据具体需求,选取上述任意一种局部二值化算法,获取每一个像素的阈值。

请参考图4,其为本申请的字符分割方法实施例步骤S207的具体流程图。在本实施例中,采用Niblack局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像,包括:

步骤S2071:针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差。

Niblack算法是局部二值化算法中的一种,该算法根据以像素点为中心的邻域内的点的情况为每个像素计算阈值。Niblack算法简明,速度较快,效果较好。

在步骤S2071中,遍历第一前景图像中的各个像素,以当前遍历到的像素为预设尺寸的子图像的中心点,计算该子图像的平均像素值和像素值方差。在本实施例中,预设尺寸的子图像采用正方形图像。在实际应用中,根据具体需求,选取子图像的尺寸(窗口大小)。

步骤S2073:根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值。

步骤S2071获取到与第一前景图像中每一个像素值分别对应的平均像素值和像素值方差后,步骤S2073根据与各个像素分别对应的平均像素值和像素值方差,计算获取与各个像素分别对应的前景像素的像素阈值。

在本实施例中,所述根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的第二前景像素的像素阈值,采用下述公式:

T(i,j)=m(i,j)+k·σ(i,j)

其中,T(i,j)是与所述第一前景图像中第i行第i列的像素对应的第二像素阈值,m(i,j)是与所述第一前景图像中第i行第i列的像素对应的平均像素值,σ(i,j)是与所述第一前景图像中第i行第i列的像素对应的像素值方差,k是方差因子。

对于第一前景图像中每一个像素点p(i,j),通过考察以其为中心的N*N窗口内的灰度均值m(i,j)和标准差σ(i,j)来确定T(i,j)。在本实施例中,k取-0.2,N取15,如果p(i,j)的灰度值低于T(i,j),则将此像素点二值化为黑色,否则二值化为白色。

步骤S2075:逐个判断所述各个像素的像素值是否小于与其对应的所述第二 像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色。

在获取到与第一前景图像中每一个像素值分别对应的前景像素的像素阈值后,逐个判断每一个像素的像素值是否小于与其对应的第二像素阈值;若是,则将该像素的像素值设置为黑色;若否,则将该像素的像素值设置为白色。

步骤S2077:将更新像素值后所述第一前景图像,作为所述二值化字符图像。

最后,将通过步骤S2075更新像素值后的第一前景图像,作为本申请实施例所述的二值化字符图像。

请参考图5,其为本申请的字符分割方法实施例各种二值化方法获取的二值化字符图像的对比图。在图5中,子图a为原始灰度字符图像,子图b为通过全局二值化算法生成的二值化字符图像,子图c为通过局部二值化算法生成的二值化字符图像,子图d为全局二值化算法和局部二值化算法相结合后生成的二值化字符图像。可见,子图b的二值化字符图像的背景具有较多的噪音点,子图c的二值化字符图像的前景字符存在断裂现象,而子图d的二值化字符图像效果较好。

本申请实施例所述的预设的分割点生成算法包括各种常用的分割点生成算法,例如,基于垂直投影的分割点生成算法、基于断字的分割点生成算法、基于数学形态学的分割点生成算法、基于连通域分析的分割点生成算法或基于识别的分割点生成算法。在实际应用中,可以根据具体需求,选取上述任意一种分割点生成算法,获取待分割字符图像的候选分割点。

在本实施例中,所述预设的分割点生成算法采用基于垂直投影的分割点生成算法。具体的,通过基于垂直投影的分割点生成算法,获取待分割字符图像的字符分割点,包括如下步骤:1)对所述待分割字符图像中的各个像素,进行横坐标方向轴的投影处理,并构建投影直方图;2)针对所述投影直方图中的各个列,若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的右相邻列的像素数量大于所述列的像素数量,则将所述列作为所述待分割字符图像的字符分割点;若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的多于1个右相邻列的像素数量等于所述列的像素数量,并且所述多于1个右相邻列的最右侧列的右相邻列的像素数量大于所述最右侧列的像素数量,则将所述列与所述最右侧列的右相邻列之间处于中间位置处的列作为所述 待分割字符图像的字符分割点。

1)对所述待分割字符图像中的各个像素,进行横坐标方向轴的投影处理,并构建投影直方图。

基于垂直投影的分割点生成算法,首先对待分割字符图像的垂直扫描线上出现的非白色像素点的个数进行统计,即:对待分割字符图像中的各个像素,进行横坐标方向轴的投影处理,并构建投影直方图。如果待分割字符图像为二值化字符图像,则对待分割字符图像的垂直扫描线上出现的黑色像素点的个数进行统计。

2)针对所述投影直方图中的各个列,若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的右相邻列的像素数量大于所述列的像素数量,则将所述列作为所述待分割字符图像的字符分割点;若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的多于1个右相邻列的像素数量等于所述列的像素数量,并且所述多于1个右相邻列的最右侧列的右相邻列的像素数量大于所述最右侧列的像素数量,则将所述列与所述最右侧列的右相邻列之间处于中间位置处的列作为所述待分割字符图像的字符分割点。

根据构建的投影直方图,对待分割字符图像的垂直扫描线上出现的非白色像素点的个数进行统计,并根据统计值特征将波谷处的位置作为候选分割点。本步骤的形式化表示如下所述:{h(i)为候选分割点|h(i-1)>h(i)且h(i+1)>h(i)。若出现h(i-1)>h(i),h(i)=…=h(i+j),h(i+j)<h(i+j+1),则选取候选分割点为h(i+j/2),其中h(i)为投影到第i列的像素点个数。

步骤S103:根据所述原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点。

本申请实施例所述的候选分割点,是根据待分割字符图像获取的。由于待分割字符图像可能存在字符断裂等现象,因此,根据其获取的候选分割点可能存在错误分割点。若直接根据包括错误分割点的候选分割点,对字符分割,则将导致过切割现象的发生。本申请实施例所述的预先生成的分割点分类器,用于对候选分割点进行分类,从中筛选出正确分割点,以避免出现过切割的问题。

由于导致候选分割点中可能存在错误分割点的原因在于:候选分割点是根据待分割字符图像获取的,因此,本申请提供的字符分割方法,需要根据原始灰度字符图像和预先生成的分割点分类器,从候选分割点中筛选出正确分割点。

在执行步骤S103之前,首先需要生成分割点分类器。本申请所述的分割点分类器是根据历史前景字符图像及其是否包括正确分割点的实际结果学习出来的,因此生成分割点分类器的过程是一次机器学习的过程,并且本申请实施例的机器学习是有监督的机器学习。要进行有监督的机器学习,可以采用的学习算法包括回归算法。回归算法属于归纳学习的范畴,所谓归纳学习是指根据某概念的一些实例,通过归纳推理得出该概念的一般描述。对于判断候选分割点的正确/错误类别的应用而言,能够采用的回归算法包括贝叶斯算法、决策树算法、支持向量机算法或神经网络算法等。不同算法获取的分类准确度不同,不同算法的计算复杂度也不相同,在实际应用中,根据具体应用需求,可以选择任意一种回归算法对候选分割点的类别进行分类。

请参考图6,其为本申请的字符分割方法实施例生成分割点分类器的具体流程图。在本实施例中,所述预先生成的分割点分类器,采用如下步骤生成:

步骤S601:获取由历史前景字符图像及其是否包括正确分割点的实际结果的向量对组成的训练集。

为了能够准确的分割点分类器,需要获取大量的训练数据,即:历史前景字符图像及其是否包括正确分割点的实际结果的向量对。所有向量对,都应来源于模型即将模拟的数据的实际运行结果,这些向量对可以从实际运行系统中采集获取。在实际应用中,训练数据可以通过两种方法得到,分别为人工标注法以及自动生成法。

1)人工标注法

该方法包括如下步骤:1.1)通过人工从待分割图像中找到正确分割点;b1.2)从待分割图像中截取包含正确分割点的子图像作为训练数据的正样本,正样本对应的实际结果为截取的子图像包括正确分割点;从待分割图像中截取两个正确分割点之间的子图像作为训练数据的负样本,负样本对应的实际结果为截取的子图像不包括正确分割点。

2)自动生成法

该方法首先自动生成单个字符的图像,然后将两个单个字符图像拼接在一起得到训练数据的正样本,将单个字符图像作为训练的负样本。

步骤S603:通过机器学习算法,从所述训练集中学习获得所述分割点分类器。

在实际应用中,根据训练集生成预测模型,可以采用多种具体训练算法,包括贝叶斯算法、决策树算法(Regression Decision Tree,回归决策树)、支持向量机算法或神经网络算法。通过上述各种算法,均能够生成分割点分类器。上述各种不同的训练算法都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。

通过上述各种不同的训练算法生成的预测值的准确度是不同的。本申请实施例所述的分割点分类器,其特点是对图像进行模式识别。卷积神经网络是近年来广泛应用于模式识别、图像处理等领域的一种高效识别算法,具有结构简单、训练参数少和适应性强等特点。特别的,采用卷积神经网络,使得图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。

在本实施例中,所述机器学习算法采用卷积神经网络算法。请参考图7,其为本申请的字符分割方法实施例预设的卷积神经网络模型的结构示意图。该模型包含一个输入层、四个卷积层(隐藏层)及一个输出层。其中,每个卷积层均包括多个平面,各个平面的神经元提取图像中特定区域的局部特征,例如,边缘特征和方向特征等,同一平面上的神经元共享一个权值向量,在训练时不断修正卷积层神经元的权值。实际上,卷积层可看作是模糊过滤器(又称:卷积核),其作用是二次特征提取,即:图像特征增强且降低噪音。不同卷积层所含的平面数递增,用于检测更多地特征信息。每个卷积层后接一个Pool ing层,Pool ing层执行子抽样计算,其作用是降低图像的空间分辨率,同时保留有用信息,从而减少数据处理量。

在本实施例中,预设的卷积神经网络模型的具体参数如下:

1)输入层

输入图像大小为32X32分辨率,因此,可将输入层节点数设计为1024,对应于32X32图像窗口中按行展开的各个像素。

2)隐藏层

隐藏层为四层,第一个卷积层的过滤器数量设置为32个(对应32个平面),第二个卷积层的过滤器设置成64(对应64个平面),第三个卷积层的过滤器设置成128(对应128个平面),第四个卷积层的过滤器设置成256(对应256个平面)。

3)输出层

由于卷积神经网络模型用作分类器,其类别数为2(包括正确分割点和包括错误分割点),因此,输出层的节点数为2。输出层的两个向量元素实际为:输入图像包括正确分割点的概率和包括错误分割点的概率,输出层向量元素之和为1。

需要注意的是,在开始训练前,所有的权值都应该用一些不同的小随机数进行初始化。“小随机数”用来保证网络不会因权值过大而进入饱和状态,从而导致训练失败;“不同”用来保证网络可以正常地学习。实际上,如果用相同的数去初始化权矩阵,则网络无能力学习。

具体的,所述通过机器学习算法,从所述训练集中学习获得所述分割点分类器,包括:1)遍历所述训练集中的各个训练数据,以所述训练数据包括的历史前景字符图像作为预设的卷积神经网络模型的输入图像,计算获取所述预设的卷积神经网络模型的输出,作为各个训练数据的预测结果;2)计算各个训练数据的所述预测结果与所述实际结果的差值的平方和,作为所述训练集的本次迭代误差;3)判断所述本次迭代误差是否小于上次迭代误差;若是,则根据预设的学习速率,调整所述预设的卷积神经网络模型的权矩阵,并返回所述遍历所述训练集中的各个训练数据的步骤,继续训练;若否,则将调整后的卷积神经网络模型,作为所述分割点分类器。

1)遍历所述训练集中的各个训练数据,以所述训练数据包括的历史前景字符图像作为预设的卷积神经网络模型的输入图像,计算获取所述预设的卷积神经网络模型的输出,作为各个训练数据的预测结果。

从训练集中逐个选取每个训练数据,将选取的训练数据包括的历史前景字符图像输入到预设的卷积神经网络模型,并计算获取相应的输出数据,即:该训练数据包括正确分割点的概率和包括错误分割点的概率,将两个概率中的最大值对应的类别作为训练数据的预测结果。例如:训练数据包括正确分割点的概率为85%,包括错误分割点的概率15%,则该训练数据的类别为包括正确分割点。

本步骤实质为卷积神经网络的向前传播阶段,信息从输入层经过逐级变换,传送到输出层。这个过程也是网络在完成训练后正常运行时要执行的过程。

2)计算各个训练数据的所述预测结果与所述实际结果的差值的平方和,作 为所述训练集的本次迭代误差。

通过上一步骤获取到各个训练数据的预测结果后,本步骤将计算各个训练数据的预测结果与实际结果的差值的平方和,将其作为一次迭代过程产生的总误差。

3)判断所述本次迭代误差是否小于上次迭代误差;若是,则根据预设的学习速率,调整所述预设的卷积神经网络模型的权矩阵,并返回所述遍历所述训练集中的各个训练数据的步骤,继续训练;若否,则将调整后的卷积神经网络模型,作为所述分割点分类器。

本申请实施例按照极小化误差的方法调整权重矩阵。在本步骤中,将根据本次迭代误差和上次迭代误差,判断训练过程是否完成。如果本次迭代误差小于上次迭代误差,说明网络还可以进一步优化,则根据预设的学习速率,调整预设的卷积神经网络模型的权重矩阵,并返回到第1步,开始下一个训练周期。如果本次迭代误差大于等于上次迭代误差,说明已达到训练目标,则将调整后的卷积神经网络模型,作为最终的分割点分类器。当训练结束后,需要将各个权值和阈值参数保存在文件中,使得下一次再训练时,直接从文件导出参数开始进行训练,不需要再进行参数的初始化。

步骤2和步骤3实质为卷积神经网络的向后传播阶段。这两个阶段的工作一般应受到精度要求的控制。上述3个步骤为一个训练周期,要完成卷积神经网络模型的训练可能需要很多个训练周期,经常是几百个。训练完成之后得到的卷积神经网络模型就是在通过训练集发现的模型,描述了训练集中响应变量(即:输出层变量)受预测变量(即:输入层变量)影响的变化规律。

调整卷积神经网络模型中各种参数的最基本算法是错误回馈法,现在较新的有梯度算法、类牛顿算法、Levenberg-Marquardt算法和遗传算法等。上述各种最优化算法的不同方式,都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。

本申请实施例所述的学习速率,决定每一次训练过程中所产生的参数变化量。大的学习速率可能导致系统的不稳定;小的学习速率导致较长的训练时间,可能收敛很慢,但是能保证达到训练目标。所以一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间。

在实际应用中,为了得到更准确的模型,对于卷积神经网络模型这种较复 杂的网络,在误差曲线的不同部位可能需要不同的学习速率。为了减少寻找学习速率的训练次数以及训练时间,比较合适的方法是采用变化的自适应学习速率,使网络的训练在不同的阶段设置不同大小的学习速率。在本实施例中,初始的学习速率设置成0.01,当训练过程中的误差曲线不再下降时将该值减小10倍,当减小到1e-4时停止训练,得到最终的分割点分类器。

通过上述分析可见,卷积神经网络模型在本质上是一种输入到输出的映射,能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对卷积网络加以训练,网络就具有输入输出之间的映射能力。

在生成分割点分类器后,就可以进入步骤S103,根据原始灰度字符图像和预先生成的分割点分类器,从所有候选分割点中筛选获取正确分割点。

请参考图8,其为本申请的字符分割方法实施例步骤S103的具体流程图。在本实施例中,步骤S103包括:

步骤S1031:针对各个候选分割点,从所述原始灰度字符图像中截取分别位于所述候选分割点左侧的相邻候选分割点与右侧的相邻候选分割点之间的图像。

本申请实施例提供的字符分割方法,需要对每一个候选分割点进行筛选。因此,要从所有候选分割点中逐个选取每个候选分割点,对每个候选分割点分别从原始灰度字符图像中,截取位于该候选分割点左侧的相邻(前一个)候选分割点与右侧(后一个)的相邻候选分割点之间的图像。

步骤S1032:通过所述预先生成的分割点分类器,获取各个截取的图像包括正确分割点的概率。

对于每个候选分割点,将与其对应的截取图像输入到预先生成的分割点分类器,计算获取该图像包括正确分割点的概率和包括错误分割点的概率。

步骤S1033:若所述包括正确分割点的概率大于预设的正确分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为正确分割点。

通常,将步骤S1032获取的两个概率中的最大值对应的类别作为候选分割点的类别。在实际应用中,为了对分类结果进行更细分的控制,还可以预设一个的正确分割点概率阈值,只有分类器得到的包括正确分割点的概率大于预设的正确分割点概率阈值,才能够判定截取图像包括的候选分割点为正确分割点。在本实施例中,根据经验将正确分割点概率阈值设置为0.9,即:若分割点分类 器得到的包括正确分割点的概率大于90%,则判定输入图像包括正确分割点。

由于训练生成的分割点分类器可能存在误差,并不能很好的预测输入图像的类别,因此,为了提高分割点分类的正确率,还可以进一步对候选分割点进行分类。

请参考图9,其为本申请的字符分割方法实施例步骤S103的又一具体流程图。由图9可见,在步骤S1031至步骤S1033之后,还包括:

步骤S1034:若所述包括正确分割点的概率小于预设的错误分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为错误分割点。

相对于步骤S1033中的预设的正确分割点概率阈值,步骤S1034还增加了预设的错误分割点概率阈值,即:通过预设的正确分割点概率阈值和预设的错误分割点概率阈值,对候选分割点进行更细化的分类。

在本实施例中,根据经验将正确分割点概率阈值设置为0.9,将错误分割点概率阈值设置为0.1,即:若分割点分类器得到的包括正确分割点的概率大于90%,则判定输入图像包括正确分割点;若分割点分类器得到的包括正确分割点的概率小于10%,则判定输入图像包括错误分割点。

步骤S1035:若所述包括正确分割点的概率小于等于所述预设的正确分割点概率阈值,并且大于等于所述预设的错误分割点概率阈值,则判定所述候选分割点为不确定的分割点。

在本实施例中,将候选分割点分为正确分割点、错误分割点和不确定的分割点三类。如果分割点分类器得到的包括正确分割点的概率小于等于预设的正确分割点概率阈值,并且大于等于预设的错误分割点概率阈值,则判定候选分割点为不确定的分割点,即:该候选分割点可能正确也可能错误,需要进一步辨识。

步骤S1036:针对各个所述不确定的分割点,从所述原始灰度字符图像中截取位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点之间的图像、位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,以及位于所述不确定的分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,分别作为左侧图像、中间图像和右侧图像。

对于被判定为不确定的分割点的候选分割点,需要从原始灰度字符图像中 截取位于所述不确定的分割点左侧的相邻(前一个)正确分割点与所述不确定的分割点之间的图像、位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点右侧的相邻(后一个)正确分割点之间的图像,以及位于所述不确定的分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,分别作为左侧图像、中间图像和右侧图像。

步骤S1037:通过预设的字符识别装置,获取所述左侧图像为字符的概率、所述中间图像为字符的概率和所述右侧图像为字符的概率。

本申请实施例所述的预设的字符识别装置,是指能够识别给定的字符图像是否为标准字符库中的一个标准字符的装置。例如,如果给定的字符图像为标准字符库中的一个标准字符,则通过字符识别装置能够获取与该字符图像对应的标准字符;如果给定的字符图像并不是标准字符库中的一个标准字符,则通过字符识别装置无法识别该字符图像。

步骤S1037通过预设的字符识别装置,分别对步骤S1036中截取的左侧图像、中间图像和右侧图像进行字符识别,获取左侧图像为标准字符的概率、中间图像为标准字符的概率和右侧图像为标准字符的概率。

步骤S1038:若所述左侧图像为字符的概率和所述右侧图像为字符的概率均大于所述中间图像为字符的概率,则判定所述不确定的候选分割点为正确分割点。

如果左侧图像为标准字符的概率和右侧图像为标准字符的概率均大于中间图像为标准字符的概率,说明中间图像应该被分割为左侧图像和右侧图像,因此,能够判定该不确定的候选分割点为正确分割点。反之,如果左侧图像为标准字符的概率和右侧图像为标准字符的概率均小于中间图像为标准字符的概率,说明中间图像不应该被分割,因此,能够判定该不确定的候选分割点为错误分割点。至此,获取到候选分割点中的所有正确分割点。

步骤S105:根据所述正确分割点,对所述待分割字符图像进行字符分割。

最后,根据上述步骤S103筛选出的所有正确分割点,对待分割字符图像进行字符分割。

请参考10,其为本申请的字符分割方法实施例分割过程的示意图。在图10中,子图a为二值化字符图像,子图b为通过的分割点生成算法获取的所有候选分割点,子图c为经过分割点分类器过滤后的分割点,子图d为结合字符识 别引擎处理后的分割点,子图e为最终的字符分割结果。可见,通过分割点分类器,或者分割点分类器结合字符识别引擎,能够避免待分割字符图像被过度分割,提高了字符分割的准确率。

在实际应用中,为了增强字符图像的视觉效果,字符图像中可能包括不规则的字符,例如,图像中的字符是斜体字。对于这种情况,在对字符图像进行分割前,还需要对其中的斜体字进行字符矫正,以正确分割各个字符。

因此,本实施例中,在步骤S101之前,还包括:对所述待分割字符图像进行斜体字矫正处理,生成斜体字矫正后的待分割字符图像。

请参考图11,其为本申请的字符分割方法实施例斜体字矫正处理的具体流程图。在本实施例中,所述对所述待分割字符图像进行斜体字矫正处理,生成斜体字矫正后的待分割字符图像,包括:

步骤S1101:获取所述待分割字符图像包括的各个字符的预设边缘像素。

本申请实施例所述的预设边缘像素包括左边缘像素或者右边缘像素,例如,如果一个像素的像素值小于其左相邻像素(前一个)的像素值(即:p(i,j)<255),而其左相邻像素为白色(即:p(i-1,j)=255),则该像素是其所属字符的左边缘像素;如果一个像素的像素值小于其右相邻像素(后一个)的像素值(即:p(i,j)<255),而其右相邻像素为白色(即:p(i+1,j)=255),则该像素是其所属字符的右边缘像素。

需要说明的是,预设边缘像素还可以同时包括左边缘像素和右边缘像素。采用这样的预设边缘像素的优点是能够提高斜体字矫正效果,缺点是与单纯包括左边缘像素或者右边缘像素相比,计算量将增长一倍。在实际应用中,可以根据具体需求选择上述任意一种预设边缘像素。上述各种不同的预设边缘像素都只是具体实施方式的变更,都不偏离本申请的核心,因此都在本申请的保护范围之内。

在步骤S1101中,需要对待分割字符图像中的每一个像素进行判断,获取其中包括的各个字符的所有预设边缘像素。

步骤S1103:根据获取的预设边缘像素、起始矫正角度和终止矫正角度,计算获取斜体字矫正角度。

本申请实施例所述的起始矫正角度和终止矫正角度是指,斜体字矫正角度所在的角度范围,即:斜体字的倾斜角度通常在起始矫正角度和终止矫正角度 之间。具体的,根据经验值确定起始矫正角度和终止矫正角度。在本实施例中,设置起始矫正角度为-30度,终止矫正角度为30度。矫正角度为负值,表示斜体字向右倾斜,需要向左方向矫正;矫正角度为正值,表示斜体字向左倾斜,需要向右方向矫正。

在本实施例中,步骤S1103采用如下方式:根据所述获取的预设边缘像素,计算所述起始矫正角度到所述终止矫正角度之间的各个倾斜角度的信息熵,选取排在低位的信息熵对应的倾斜角度作为所述斜体字矫正角度。

本申请实施例所述的倾斜角度的信息熵表示的是倾斜角度的不确定性,信息熵越大,不确定性越大,因此,排在低位的信息熵对应的倾斜角度具有较高的确定性,可以将其作为最终的斜体字矫正角度。

在找到所有字符的预设边缘像素后,遍历从起始矫正角度到终止矫正角度之间的各个角度,根据获取的预设边缘像素,计算每个角度的信息熵,选取排在低位的信息熵对应的角度作为斜体字的矫正角度。

请参考图12,其为本申请的字符分割方法实施例步骤S1103的具体流程图。具体的,根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,包括如下步骤:

步骤S11031:遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理。

对于起始矫正角度到终止矫正角度之间的各个角度,首先,需要根据当前遍历到的角度,对获取的每一个预设边缘像素进行坐标平移处理,即:对各个字符的预设边缘像素进行斜体字矫正。

在本实施例中,根据选取的角度,对获取的各个字符的预设边缘像素进行坐标平移处理,采用下述公式进行:

p(i,j)→p(i-j.tanθ,j)

在上述公式中,p(i,j)表示待平移像素,i-j.tanθ是待平移像素需要移动到的像素位置的横坐标。

步骤S11033:对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图。

对于起始矫正角度到终止矫正角度之间的各个角度,根据以该角度进行的预设边缘像素坐标平移结果,对坐标平移后的各个字符的预设边缘像素进行横 坐标方向轴的投影处理,并构建与该角度对应的投影直方图。

步骤S11035:根据所述投影直方图,计算获取与各个角度分别对应的信息熵。

本申请实施例提供的字符识别方法,采用下述公式计算各个角度的信息熵:

其中,M是投影直方图包括的列数,N是所有字符的预设边缘像素的总数量,hi为投影到投影直方图的第i列的像素数量。

步骤S11037:选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

由于倾斜角度的信息熵表示的是倾斜角度的不确定性,信息熵越大,不确定性越大,因此,将排在低位的信息熵对应的倾斜角度作为最终的斜体字矫正角度。在本实施例中,选取最小的信息熵对应的倾斜角度作为最终的斜体字矫正角度。

步骤S1105:根据所述斜体字矫正角度,对所述待分割字符图像进行斜体字矫正,生成所述斜体字矫正后的待分割字符图像。

通过步骤S1103获取到斜体字矫正角度后,就可以根据获取的斜体字矫正角度,对待分割字符图像进行斜体字矫正,生成斜体字矫正后的待分割字符图像。具体的,需要根据斜体字矫正角度,对待分割字符图像中的每个前景像素(像素值小于255的像素)进行坐标平移处理。坐标平移处理采用下述公式进行:p(i,j)→p(i-j.tanθ,j),该公式中的p(i,j)表示待平移像素,i-j.tanθ是待平移像素需要移动到的像素位置的横坐标。

在上述的实施例中,提供了一种字符分割方法,与之相对应的,本申请还提供一种字符分割装置。该装置是与上述方法的实施例相对应。

请参看图13,其为本申请的字符分割装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种字符分割装置,包括:

生成候选分割点单元1301,用于通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点;所述待分割字符图像,是指从原始 灰度字符图像中分离获得的去除背景图像的前景字符图像;

筛选单元1303,用于根据所述原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点;

分割单元1305,用于根据所述正确分割点,对所述待分割字符图像进行字符分割。

请参看图14,其为本申请的字符分割装置实施例筛选单元1303的具体示意图。可选的,所述筛选单元1303包括:

第一截取子单元13031,用于针对各个候选分割点,从所述原始灰度字符图像中截取分别位于所述候选分割点左侧的相邻候选分割点与右侧的相邻候选分割点之间的图像;

第一计算子单元13032,用于通过所述预先生成的分割点分类器,获取各个截取的图像包括正确分割点的概率;

第一判断子单元13033,用于若所述包括正确分割点的概率大于预设的正确分割点概率阈值,则判定所述截取的图像包括的所述候选分割点为正确分割点。

请参看图15,其为本申请的字符分割装置实施例筛选单元1303的又一具体示意图。可选的,所述筛选单元1303还包括:

第二判断子单元13034,用于若所述包括正确分割点的概率小于预设的错误分割点概率阈值,则3定所述截取的图像包括的所述候选分割点为错误分割点;

第三判断子单元13035,用于若所述包括正确分割点的概率小于等于所述预设的正确分割点概率阈值,并且大于等于所述预设的错误分割点概率阈值,则判定所述候选分割点为不确定的分割点;

第二截取子单元13036,用于针对各个所述不确定的分割点,从所述原始灰度字符图像中截取位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点之间的图像、位于所述不确定的分割点左侧的相邻正确分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,以及位于所述不确定的分割点与所述不确定的分割点右侧的相邻正确分割点之间的图像,分别作为左侧图像、中间图像和右侧图像;

第二计算子单元13037,用于通过预设的字符识别装置,获取所述左侧图像为字符的概率、所述中间图像为字符的概率和所述右侧图像为字符的概率;

第四判断子单元13038,用于若所述左侧图像为字符的概率和所述右侧图像 为字符的概率均大于所述中间图像为字符的概率,则判定所述不确定的候选分割点为正确分割点。

请参看图16,其为本申请的字符分割装置实施例的具体示意图。可选的,还包括:

生成分类器单元1601,用于生成所述预先生成的分割点分类器。

可选的,所述生成分类器单元1601包括:

获取子单元16011,用于获取由历史前景字符图像及其是否包括正确分割点的实际结果的向量对组成的训练集;

学习子单元16013,用于通过机器学习算法,从所述训练集中学习获得所述分割点分类器。

可选的,所述机器学习算法采用卷积神经网络算法;所述学习子单元16013包括:

第一计算子单元,用于遍历所述训练集中的各个训练数据,以所述训练数据包括的历史前景字符图像作为预设的卷积神经网络模型的输入图像,计算获取所述预设的卷积神经网络模型的输出,作为各个训练数据的预测结果;

第二计算子单元,用于计算各个训练数据的所述预测结果与所述实际结果的差值的平方和,作为所述训练集的本次迭代误差;

判断子单元,用于判断所述本次迭代误差是否小于上次迭代误差;若是,则根据预设的学习速率,调整所述预设的卷积神经网络模型的权矩阵,并返回所述遍历所述训练集中的各个训练数据的步骤,继续训练;若否,则将调整后的卷积神经网络模型,作为所述分割点分类器。

可选的,还包括:

图像分离单元1603,用于对所述原始灰度字符图像进行图像分离处理,生成所述待分割字符图像。

可选的,所述对所述原始灰度字符图像进行图像分离处理,生成所述待分割字符图像,采用如下方式:

对所述原始灰度字符图像进行二值化处理,生成二值化字符图像,作为所述待分割字符图像。

可选的,所述图像分离单元1603包括:

第一计算子单元16031,用于通过全局二值化算法,获取所述原始灰度字符图像的前景像素的像素阈值,作为第一像素阈值;

第一筛选子单元16033,用于将所述原始灰度字符图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;

第一生成子单元16035,用于将由所述第一前景像素构成的图像,作为第一前景图像;

第二生成子单元16037,用于通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像。

可选的,所述第一计算子单元16031包括:

计算子单元,用于分别以所述原始灰度字符图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差;

选取子单元,用于选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述原始灰度字符图像的前景像素的像素阈值。

可选的,所述第二生成子单元16037包括:

第一计算子单元,用于针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差;

第二计算子单元,用于根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值;

判断子单元,用于逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色;

设置子单元,用于将更新像素值后所述第一前景图像,作为所述二值化字符图像。

可选的,还包括:

斜体字矫正单元1605,用于对所述待分割字符图像进行斜体字矫正处理,生成斜体字矫正后的待分割字符图像。

可选的,所述斜体字矫正单元1605包括:

获取子单元16051,用于获取所述待分割字符图像包括的各个字符的预设边缘像素;

计算子单元16053,用于根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;

矫正子单元16055,用于根据所述斜体字矫正角度,对所述待分割字符图像进行斜体字矫正,生成所述斜体字矫正后的待分割字符图像。

请参看图17,其为本申请的字符分割装置实施例计算子单元16053的具体示意图。可选的,所述计算子单元16053包括:

坐标平移子单元160531,用于遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理;

投影子单元160533,用于对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图;

计算子单元160535,用于根据所述投影直方图,计算获取与各个角度分别对应的信息熵;

选取子单元160537,用于选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

可选的,所述预设的分割点生成算法采用基于垂直投影的分割点生成算法;所述生成候选分割点单元1301包括:

投影子单元,用于对所述待分割字符图像中的各个像素,进行横坐标方向轴的投影处理,并构建投影直方图;

判断子单元,用于针对所述投影直方图中的各个列,若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的右相邻列的像素数量大于所述列的像素数量,则将所述列作为所述待分割字符图像的字符分割点;若所述列的左相邻列的像素数量大于所述列的像素数量,并且所述列的多于1个右相邻列的像素数量等于所述列的像素数量,并且所述多于1个右相邻列的最右侧列的右相邻列的像素数量大于所述最右侧列的像素数量,则将所述列与所述最右侧列的右相邻列之间处于中间位置处的列作为所述待分割字符图像的字符分割点。

请参考图18,其为本申请的电子设备实施例的示意图。由于设备实施例基 本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。

本实施例的一种电子设备,该电子设备包括:显示器1801;处理器1802;以及存储器1803,所述存储器1803被配置成存储字符分割装置,所述字符分割装置被所述处理器1802执行时,包括如下步骤:通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点;所述待分割字符图像,是指从原始灰度字符图像中分离获得的去除背景图像的前景字符图像;根据所述原始灰度字符图像和预先生成的分割点分类器,从所述候选分割点中筛选获取正确分割点;根据所述正确分割点,对所述待分割字符图像进行字符分割。

本申请实施例的一种字符识别系统,包括:根据上述任意一种字符分割装置。

本申请提供的字符分割方法、装置及电子设备,通过预设的分割点生成算法,获取待分割字符图像的字符分割点,作为候选分割点,其中所述待分割字符图像是指,从原始灰度字符图像中分离获得的去除背景图像的前景字符图像;并根据原始灰度字符图像和预先生成的分割点分类器,从候选分割点中筛选获取正确分割点;最终,根据正确分割点,对对待分割字符图像进行字符分割,使得能够利用原始灰度字符图像对候选分割点进行过滤,并获取正确分割点,避免过度分割具有字符断裂或字符模糊等现象的字符图像,从而达到提高字符分割准确度的效果。

本申请还提供一种图像分离方法,其核心的基本思想为:通过采用全局二值化算法和局部自适应二值化算法相结合的方式对待分离灰度图像进行二值化处理,分离获取到背景图像和前景图像。由于全局二值化算法能够提取到更为清晰的前景图像,同时局部自适应二值化算法能够消除背景图像存在的噪音点,使得获取到的前景图像效果更加优化。

请参考图19,其为本申请提供的一种图像分离方法的实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种图像分离方法包括:

步骤S1901:获取待分离灰度图像。

本申请实施例所述的待分离灰度图像,与实施例一的原始灰度字符图像相对应,区别在于待分离灰度图像可以为任意的灰度图像,即:待分离灰度图像 既可以包括字符图像,也可以不包括字符图像。

步骤S1902:通过全局二值化算法,获取所述待分离灰度图像的前景像素的像素阈值,作为第一像素阈值。

步骤S1902与实施例一中步骤S201相对应,相同之处此处不再赘述,相关说明详见步骤S201部分。

在本实施例中,所述通过全局二值化算法,获取所述待分离灰度图像的前景像素的像素阈值,包括:

步骤S19021:分别以所述待分离灰度图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差。

在本实施例中,所述类间方差采用下述公式计算:

σ2=ω0·(μ0-μ)21·(μ1-μ)2

其中,σ2是所述类间方差,μ是所述待分离灰度图像的平均像素值,ω0是所述前景图像的像素数量与所述待分离灰度图像的像素数量的比值,ω1是所述背景图像的像素数量与所述待分离灰度图像的像素数量的比值,μ0是所述前景图像的平均像素值,μ1是所述背景图像的平均像素值,μ=ω0μ01μ1,ω0=N0/(M*N),ω1=N1/(M*N),M和N是所述待分离灰度图像的宽和高,M*N是所述待分离灰度图像包括的像素数量,N0为所述前景图像的像素数量,N1为所述背景图像的像素数量。

步骤S19021与实施例一中步骤S2011相对应,相同之处此处不再赘述,相关说明详见步骤S2011部分。

步骤S19023:选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述待分离灰度图像的前景像素的像素阈值。

步骤S19023与实施例一中步骤S2013相对应,相同之处此处不再赘述,相关说明详见步骤S2013部分。

步骤S1903:将所述待分离灰度图像中像素值小于所述第一像素阈值的像素,作为第一前景像素。

步骤S1903与实施例一中步骤S203相对应,相同之处此处不再赘述,相关说明详见步骤S203部分。

步骤S1904:将由所述第一前景像素构成的图像,作为第一前景图像。

步骤S1904与实施例一中步骤S205相对应,相同之处此处不再赘述,相关说明详见步骤S205部分。

步骤S1905:通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述待分离灰度图像的二值化图像。

步骤S1905与实施例一中步骤S207相对应,相同之处此处不再赘述,相关说明详见步骤S207部分。

在本实施例中,所述通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述二值化字符图像,包括:

步骤S19051:针对所述第一前景图像中的各个像素,分别计算以所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差。

在本实施例中,所述根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的第二前景像素的像素阈值,采用下述公式:

T(i,j)=m(i,j)+k·σ(i,j)

其中,T(i,j)是与所述第一前景图像中第i行第i列的像素对应的第二像素阈值,m(i,j)是与所述第一前景图像中第i行第i列的像素对应的平均像素值,σ(i,j)是与所述第一前景图像中第i行第i列的像素对应的像素值方差,k是方差因子。

在本实施例中,所述预设尺寸的子图像包括正方形。

步骤S19051与实施例一中步骤S2071相对应,相同之处此处不再赘述,相关说明详见步骤S2071部分。

步骤S19053:根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值。

步骤S19053与实施例一中步骤S2073相对应,相同之处此处不再赘述,相关说明详见步骤S2073部分。

步骤S19055:逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色。

步骤S19055与实施例一中步骤S2075相对应,相同之处此处不再赘述,相 关说明详见步骤S2075部分。

步骤S19057:将更新像素值后所述第一前景图像,作为所述二值化字符图像。

步骤S19057与实施例一中步骤S2077相对应,相同之处此处不再赘述,相关说明详见步骤S2077部分。

在上述的实施例中,提供了一种图像分离方法,与之相对应的,本申请还提供一种图像分离装置。该装置是与上述方法的实施例相对应。

请参看图20,其为本申请的图像分离装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种图像分离装置,包括:

获取单元2001,用于获取待分离灰度图像;

第一计算单元2002,用于通过全局二值化算法,获取所述待分离灰度图像的前景像素的像素阈值,作为第一像素阈值;

第一筛选单元2003,用于将所述待分离灰度图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;

第一生成单元2004,用于将由所述第一前景像素构成的图像,作为第一前景图像;

第二生成单元2005,用于通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述待分离灰度图像的二值化图像。

可选的,所述第一计算单元2002包括:

计算子单元,用于分别以所述待分离灰度图像中的各个像素值为候选像素阈值,计算根据所述候选像素阈值分离获取的背景图像与前景图像之间的类间方差;

选取子单元,用于选取排在高位的所述类间方差所对应的所述候选像素阈值,作为所述待分离灰度图像的前景像素的像素阈值。

可选的,所述第二生成单元2005包括:

第一计算子单元,用于针对所述第一前景图像中的各个像素,分别计算以 所述各个像素为中心的预设尺寸的子图像的平均像素值和像素值方差;

第二计算子单元,用于根据与所述各个像素分别对应的所述平均像素值和像素值方差,计算获取与所述各个像素分别对应的前景像素的像素阈值,作为第二像素阈值;

判断子单元,用于逐个判断所述各个像素的像素值是否小于与其对应的所述第二像素阈值;若是,则将所述像素的像素值设置为黑色;若否,则将所述像素的像素值设置为白色;

设置子单元,用于将更新像素值后所述第一前景图像,作为所述二值化字符图像。

请参考图21,其为本申请的又一电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。

本实施例的又一种电子设备,该电子设备包括:显示器2101;处理器2102;以及存储器2103,所述存储器2103被配置成存储图像分离装置,所述图像分离装置被所述处理器2102执行时,包括如下步骤:获取待分离灰度图像;通过全局二值化算法,获取所述待分离灰度图像的前景像素的像素阈值,作为第一像素阈值;将所述待分离灰度图像中像素值小于所述第一像素阈值的像素,作为第一前景像素;将由所述第一前景像素构成的图像,作为第一前景图像;通过局部二值化算法,对所述第一前景图像进行二值化处理,从所述第一前景图像中分离获得所述待分离灰度图像的二值化图像。

本申请提供的图像分离方法、装置及电子设备,通过采用全局二值化算法和局部自适应二值化算法相结合的方式对待分离灰度图像进行二值化处理,分离获取到待分离灰度图像的二值化图像,即:前景图像。由于全局二值化算法能够提取到更为清晰的前景图像,同时局部自适应二值化算法能够消除背景图像存在的噪音点,使得获取到的前景图像效果更加优化,从而达到提高图像分离准确性的效果。

本申请还提供一种斜体字矫正方法,请参考图22,其为本申请提供的一种斜体字矫正方法的实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种斜体字矫正方法,包括:

步骤S2201:获取待矫正字符图像包括的各个字符的预设边缘像素。

本申请实施例所述的待矫正字符图像,与实施例一的待分离字符图像相对应,区别在于待矫正字符图像可以为彩色图像。

步骤S2201与实施例一中步骤S1101相对应,相同之处此处不再赘述,相关说明详见步骤S1101部分。

本申请实施例所述的预设边缘像素包括左边缘像素或右边缘像素。在本实施例中,所述预设边缘像素为左边缘像素;所述获取所述待矫正字符图像包括的各个字符的预设边缘像素,采用如下方式:

若像素的像素值小于其左相邻像素的像素值,并且所述左相邻像素为白色,则将所述像素作为所述字符的左边缘像素。

步骤S2203:根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度。

步骤S2203与实施例一中步骤S1103相对应,相同之处此处不再赘述,相关说明详见步骤S1103部分。

在本实施例中,所述根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,采用如下方式:

根据所述获取的预设边缘像素,计算所述起始矫正角度到所述终止矫正角度之间的各个倾斜角度的信息熵,选取排在低位的信息熵对应的倾斜角度作为所述斜体字矫正角度。

在本实施例中,所述根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度,包括:

步骤S22031:遍历所述起始矫正角度到终止矫正角度之间的各个角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理。

步骤S22033:对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图。

步骤S22035:根据所述投影直方图,计算获取与各个角度分别对应的信息熵。

步骤S22037:选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

在本实施例中,所述信息熵采用下述公式计算:

其中,M是所述投影直方图的列数,N是所有字符的预设边缘像素的总数量,hi为投影到第i列的像素数量。

步骤S2205:根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,生成斜体字矫正后的字符图像。

步骤S2205与实施例一中步骤S1105相对应,相同之处此处不再赘述,相关说明详见步骤S1105部分。

在本实施例中,所述根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,采用如下方式:

根据所述斜体字矫正角度,对所述待矫正字符图像中各个字符包括的各个像素进行坐标平移处理。

在本实施例中,所述对像素进行坐标平移处理,采用下述公式进行:

p(i,j)→p(i-j.tanθ,j)

其中,p(i,j)是待平移像素,i-j.tanθ是所述待平移像素移动到的像素位置的横坐标。

在上述的实施例中,提供了一种斜体字矫正方法,与之相对应的,本申请还提供一种斜体字矫正装置。该装置是与上述方法的实施例相对应。

请参看图23,其为本申请的斜体字矫正装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。

本实施例的一种斜体字矫正装置,包括:

获取单元2301,用于获取待矫正字符图像包括的各个字符的预设边缘像素;

计算单元2303,用于根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;

矫正单元2305,用于根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,生成斜体字矫正后的字符图像。

可选的,所述计算单元2303包括:

坐标平移子单元,用于遍历所述起始矫正角度到终止矫正角度之间的各个 角度,根据所述角度,对获取的各个字符的预设边缘像素进行坐标平移处理;

投影子单元,用于对坐标平移后的各个字符的预设边缘像素进行横坐标方向轴的投影处理,并构建与所述角度对应的投影直方图;

计算子单元,用于根据所述投影直方图,计算获取与各个角度分别对应的信息熵;

选取子单元,用于选取排在低位的信息熵所对应的角度,作为所述斜体字矫正角度。

请参考图24,其为本申请的又一电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。

本实施例的再一种电子设备,该电子设备包括:显示器2401;处理器2402;以及存储器2403,所述存储器2403被配置成存储斜体字矫正装置,所述斜体字矫正装置被所述处理器2402执行时,包括如下步骤:获取待矫正字符图像包括的各个字符的预设边缘像素;根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;根据所述斜体字矫正角度,对所述待矫正字符图像进行斜体字矫正,生成斜体字矫正后的字符图像。

本申请提供的斜体字矫正方法、装置及电子设备,通过获取待矫正字符图像包括的各个字符的预设边缘像素;并根据获取的预设边缘像素、预设的起始矫正角度和终止矫正角度,计算获取斜体字矫正角度;根据斜体字矫正角度,对待矫正字符图像进行斜体字矫正,能够生成斜体字矫正后的字符图像,从而达到提高斜体字矫正准确性的效果。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由 任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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