图像处理方法及图像处理装置转让专利

申请号 : CN201610639485.8

文献号 : CN107688807B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周龙沙王红法

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明提供一种图像处理方法,其包括:基于图像中像素灰度的变化量,将图像划分为多个识别区域;根据识别区域的所有像素的灰度值,计算识别区域中所有像素的整体梯度幅值;根据识别区域中的所有像素的整体梯度幅值的出现次数,获取各识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;根据识别区域的所述出现次数极值区域,确定图像的文字区域边界,以便对图像进行文字识别处理。本发明还提供一种图像处理装置,本发明的图像处理方法及图像处理装置通过识别区域的出现次数极值区域来确定图像的文字区域边界,可准确的对图像中的文字进行识别,且出现次数极值区域的计算过程简单。

权利要求 :

1.一种图像处理方法,其特征在于,包括:

基于图像中像素灰度的变化量,将所述图像划分为多个识别区域;

根据所述识别区域的所有像素的灰度值,计算所述识别区域中所有像素的整体梯度幅值;其中所述像素的整体梯度幅值为每个像素相应相邻像素的幅度变化量,以便将识别区域中的文字区域和背景区域划分开;

根据所述识别区域中的所有像素的整体梯度幅值的出现次数,获取所述识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;以及将所述识别区域的所述出现次数极值区域,确定为 所述图像的文字区域边界,以便对所述图像进行文字识别处理。

2.根据权利要求1所述的图像处理方法,其特征在于,所述基于图像中像素灰度的变化量,将所述图像划分为多个识别区域的步骤包括:基于所述图像中的像素灰度的变化值,使用极大值稳定区域算法将所述图像划分为多个识别区域。

3.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述识别区域的所有像素的灰度值,计算所述识别区域中所有像素的整体梯度幅值的步骤包括:根据所述识别区域的所有像素的灰度值,计算所述识别区域的所有像素的水平灰度梯度幅值以及垂直灰度梯度幅值;以及使用所述识别区域的所有像素的水平灰度梯度幅值以及垂直灰度梯度幅值,计算所述识别区域的所有像素的整体梯度幅值。

4.根据权利要求1所述的图像处理方法,其特征在于,所述计算所述识别区域中所有像素的整体梯度幅值的步骤之后,所述获取所述识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域的步骤之前还包括:基于预设的归一化设定,对所述识别区域中所有像素的整体梯度幅值进行归一化处理。

5.根据权利要求1所述的图像处理方法,其特征在于,所述根据所述识别区域中的所有像素的整体梯度幅值的出现次数,获取所述识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域步骤包括:以所述识别区域的所有像素的整体梯度幅值为横坐标,所述识别区域的所有像素的整体梯度幅值的出现次数为纵坐标,建立所述识别区域的像素梯度幅值坐标系;

在所述像素梯度幅值坐标系上标注所有所述整体梯度幅值的出现次数点;

对所述整体梯度幅值的出现次数点进行高斯平滑处理,获取所述整体梯度幅值的出现次数曲线;

获取所述出现次数曲线的至少一个极大值点以及对应的极大值区域;以及将大于设定值的极大值点以及对应的极大值区域对应的整体梯度幅值区域,设置为所述出现次数极值区域。

6.根据权利要求5所述的图像处理方法,其特征在于,所述获取所述出现次数曲线的至少一个极大值点以及对应的极大值区域的步骤包括:获取所述出现次数曲线的至少一个极大值;

获取所述极大值周围的非零出现次数的整体梯度幅值;以及

将所述极大值周围的非零出现次数的整体梯度幅值的区域设置为所述极大值对应的极大值区域。

7.根据权利要求1所述的图像处理方法,其特征在于,所述图像处理方法还包括步骤:对所述文字区域边界内的区域进行填充操作,以便对填充操作后的图像进行文字识别处理。

8.一种图像处理装置,其特征在于,包括:

划分模块,用于基于图像中像素灰度的变化量,将所述图像划分为多个识别区域;

计算模块,用于根据所述识别区域的所有像素的灰度值,计算所述识别区域中所有像素的整体梯度幅值;其中所述像素的整体梯度幅值为每个像素相应相邻像素的幅度变化量,以便将识别区域中的文字区域和背景区域划分开;

极值区域获取模块,用于根据所述识别区域中的所有像素的整体梯度幅值的出现次数,获取所述识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;以及识别模块,用于将所述识别区域的所述出现次数极值区域,确定为 所述图像的文字区域边界,以便对所述图像进行文字识别处理。

9.根据权利要求8所述的图像处理装置,其特征在于,所述划分模块具体用于基于所述图像中的像素灰度的变化值,使用极大值稳定区域算法将所述图像划分为多个识别区域。

10.根据权利要求8所述的图像处理装置,其特征在于,所述计算模块包括:水平垂直灰度梯度幅值计算单元,用于根据所述识别区域的所有像素的灰度值,计算所述识别区域的所有像素的水平灰度梯度幅值以及垂直灰度梯度幅值;以及整体梯度幅值计算单元,用于使用所述识别区域的所有像素的水平灰度梯度幅值以及垂直灰度梯度幅值,计算所述识别区域的所有像素的整体梯度幅值。

11.根据权利要求8所述的图像处理装置,其特征在于,所述图像处理装置还包括:归一化模块,用于基于预设的归一化设定,对所述识别区域中所有像素的整体梯度幅值进行归一化处理。

12.根据权利要求8所述的图像处理装置,其特征在于,所述极值区域获取模块包括:坐标系建立单元,用于以所述识别区域的所有像素的整体梯度幅值为横坐标,所述识别区域的所有像素的整体梯度幅值的出现次数为纵坐标,建立所述识别区域的像素梯度幅值坐标系;

标注单元,用于在所述像素梯度幅值坐标系上标注所有所述整体梯度幅值的出现次数点;

曲线获取单元,用于对所述整体梯度幅值的出现次数点进行高斯平滑处理,获取所述整体梯度幅值的出现次数曲线;

极大值区域获取单元,用于获取所述出现次数曲线的至少一个极大值点以及对应的极大值区域;以及极值区域获取单元,用于将大于设定值的极大值点以及对应的极大值区域对应的整体梯度幅值区域,设置为所述出现次数极值区域。

13.根据权利要求12所述的图像处理装置,其特征在于,所述极大值区域获取单元包括:极大值获取子单元,用于获取所述出现次数曲线的至少一个极大值;

整体梯度幅值获取子单元,用于获取所述极大值周围的非零出现次数的整体梯度幅值;以及极大值区域获取子单元,用于将所述极大值周围的非零出现次数的整体梯度幅值的区域设置为所述极大值对应的极大值区域。

14.根据权利要求8所述的图像处理装置,其特征在于,所述图像处理装置还包括:填充模块,用于对所述文字区域边界内的区域进行填充操作,以便对填充操作后的图像进行文字识别处理。

说明书 :

图像处理方法及图像处理装置

技术领域

[0001] 本发明涉及图像处理领域,特别是涉及一种图像处理方法及图像处理装置。

背景技术

[0002] 在当前图像处理领域中,文字识别技术和方法较为成熟,如利用梯度图像信息进行识别或采用深度学习的方式进行识别,对已切分准确的字符块可采用上述识别技术很好的进行识别。但是随着应用场景的背景信息的越来越复杂,对应用场景的字符块已无法进行准确的切分操作,从而造成识别图像中的文字的难度较大。
[0003] 面对上述情况,常常会使用MSER(Maximally Stable Extremal Regions,极大值稳定区域)方法或基于字符宽度的SWT(stroke width transform,笔画宽度变换)方法进行图像中的文字识别。
[0004] 其中MSER方法通过使用不同的灰度阈值对图像进行二值化得到灰度稳定区域,但是当字符和背景相互嵌套为大片稳定区域时,无法对图像中的文字进行准确区分。SWT方法可计算出背景中的字符宽度信息,但是计算过程较为复杂,且在复杂背景图片中的虚警率较高,给识别带来一定的压力。

发明内容

[0005] 本发明实施例提供一种可对图像中的文字进行准确区分且计算过程较为简单的图像处理方法及图像处理装置;以解决现有的图像处理方法及图像处理装置的对图像中的文字无法进行准确区分或识别计算过程较为复杂的技术问题。
[0006] 本发明实施例提供一种图像处理方法,其包括:
[0007] 基于图像中像素灰度的变化量,将所述图像划分为多个识别区域;
[0008] 根据所述识别区域的所有像素的灰度值,计算所述识别区域中所有像素的整体梯度幅值;
[0009] 根据所述识别区域中的所有像素的整体梯度幅值的出现次数,获取所述识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;以及
[0010] 根据所述识别区域的所述出现次数极值区域,确定所述图像的文字区域边界,以便对所述图像进行文字识别处理。
[0011] 本发明实施例还提供一种图像处理装置,其包括:
[0012] 划分模块,用于基于图像中像素灰度的变化量,将所述图像划分为多个识别区域;
[0013] 计算模块,用于根据所述识别区域的所有像素的灰度值,计算所述识别区域中所有像素的整体梯度幅值;
[0014] 极值区域获取模块,用于根据所述识别区域中的所有像素的整体梯度幅值的出现次数,获取所述识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;以及[0015] 识别模块,用于根据所述识别区域的所述出现次数极值区域,确定所述图像的文字区域边界,以便对所述图像进行文字识别处理。
[0016] 相较于现有技术,本发明的图像处理方法及图像处理装置通过识别区域的出现次数极值区域来确定图像的文字区域边界,可准确的对图像中的文字进行识别,且出现次数极值区域的计算过程简单;解决了现有的图像处理方法及图像处理装置的对图像中的文字无法进行准确区分或识别计算过程较为复杂的技术问题。

附图说明

[0017] 图1为本发明的图像处理方法的第一优选实施例的流程图;
[0018] 图2为本发明的图像处理方法的第二优选实施例的流程图;
[0019] 图3为本发明的图像处理方法的第二优选实施例的步骤S204的流程图;
[0020] 图4为本发明的图像处理方法的第二优选实施例中的像素梯度幅值坐标系的示意图;
[0021] 图5为本发明的图像处理方法的第二优选实施例中的整体梯度幅值的出现次数曲线的示意图;
[0022] 图6为本发明的图像处理装置的第一优选实施例的结构示意图;
[0023] 图7为本发明的图像处理装置的第二优选实施例的结构示意图;
[0024] 图8为本发明的图像处理装置的第二优选实施例的计算模块的结构示意图;
[0025] 图9为本发明的图像处理装置的第二优选实施例的极值区域获取模块的结构示意图;
[0026] 图10为本发明的图像处理装置的第二优选实施例的极值区域获取模块的极大值区域获取单元的结构示意图;
[0027] 图11为本发明的图像处理方法及图像处理装置的具体实施例的处理图像示意图;
[0028] 图12为本发明的图像处理方法及图像处理装置的具体实施例的使用MSER算法转换后的处理图像示意图;
[0029] 图13为本发明的图像处理方法及图像处理装置的具体实施例的文字区域边界的图像示意图;
[0030] 图14为本发明的图像处理装置所在的电子设备的工作环境结构示意图。

具体实施方式

[0031] 请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
[0032] 在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
[0033] 本发明的图像处理方法以及图像处理装置可用于各种进行图像文字识别的移动电子设备、固定电子设备、可穿戴设备、头戴设备或医疗健康平台。用户使用该移动电子设备、固定电子设备、可穿戴设备、头戴设备或医疗健康平台可对图像中的文字进行准确区分且文字识别过程较为简单。
[0034] 请参照图1,图1为本发明的图像处理方法的第一优选实施例的流程图。本优选实施例的图像处理方法可使用上述的移动电子设备或固定电子设备进行实施,本优选实施例的图像处理方法包括:
[0035] 步骤S101,基于图像中像素灰度的变化量,将图像划分为多个识别区域;
[0036] 步骤S102,根据识别区域的所有像素的灰度值,计算识别区域中所有像素的整体梯度幅值;
[0037] 步骤S103,根据识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;
[0038] 步骤S104,根据识别区域的出现次数极值区域,确定图像的文字区域边界,以便对图像进行文字识别处理。
[0039] 下面详细说明本优选实施例的图像处理方法的各步骤的具体流程。
[0040] 在步骤S101中,图像处理装置基于图像中像素灰度的变化量,将图像划分为多个识别区域。这里的图像是指用于进行文字识别的图像,该图像包括背景以及文字,由于背景颜色和文字颜色具有一定的显示灰度差异,即文字和背景交界处的像素灰度的变化量会较大,而单纯的背景区域的像素灰度的变化量较小。因此通过上述变化量可将图像划分为多个具有文字的识别区域,并将没有文字的纯背景区域去除,以便对每个识别区域进行有效的文字识别。随后转到步骤S102。
[0041] 在步骤S102中,图像处理装置根据步骤S101获取的每个识别区域的所有像素的灰度值,计算每个识别区域中所有像素的整体梯度幅值。由于识别区域中也包括背景区域以及文字区域,因此在本步骤中获取识别区域中每个像素相对相邻像素的灰度变化量,作为该像素灰度的整体梯度幅值,从而可以将识别区域中的文字区域和背景区域划分开来。随后转到步骤S103。
[0042] 在步骤S103中,如背景区域的像素灰度和文字区域的像素灰度的差值是固定的,则背景区域和文字区域的交界处的像素灰度的整体梯度幅值也是固定的,这些交界处的像素灰度的整体梯度幅值的出现次数与文字区域的大小成正比,即文字区域越大,交界处的像素灰度的整体梯度幅值的出现次数越大。
[0043] 在本步骤中,需要对主要的文字区域进行识别,而主要的文字区域在识别区域的面积较大,主要的文字区域与相邻背景区域的连接处的整体梯度幅值的出现次数也就较多,因此这里图像处理装置通过识别区域中所有像素的整体梯度幅值的出现次数对一些干扰的背景区域灰度变化进行过滤,如将出现次数较少的整体梯度幅值的像素点对应的区域不进行文字识别。
[0044] 这样根据过滤后的识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域。这里的出现次数极值区域是指识别区域中整体梯度幅值的出现次数较多的区域,应包括但不限于所有像素的整体梯度幅值的出现次数最多的区域。随后转到步骤S104。
[0045] 在步骤S104中,图像处理装置根据步骤S103获取的识别区域的出现次数极值区域,确定图像的文字区域边界。随后图像处理装置根据图像的文字区域边界对图像进行文字识别处理。
[0046] 这样即完成了本优选实施例的图像处理方法的图像中的文字识别过程。
[0047] 本优选实施例的图像处理方法通过识别区域的出现次数极值区域来确定图像的文字区域边界,可准确的对图像中的文字进行识别,且出现次数极值区域的计算过程简单。
[0048] 请参照图2,图2为本发明的图像处理方法的第二优选实施例的流程图。本优选实施例的图像处理方法可使用上述的移动电子设备或固定电子设备进行实施,本优选实施例的图像处理方法包括:
[0049] 步骤S201,基于图像中的像素灰度的变化值,使用极大值稳定区域算法将图像划分为多个识别区域;
[0050] 步骤S202,根据识别区域的所有像素的灰度值,计算识别区域中所有像素的整体梯度幅值;
[0051] 步骤S203,基于预设的归一化设定,对识别区域中所有像素的整体梯度幅值进行归一化处理;
[0052] 步骤S204,根据识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;
[0053] 步骤S205,根据识别区域的出现次数极值区域,确定图像的文字区域边界;
[0054] 步骤S206,对文字区域边界内的区域进行填充操作,以便对填充操作后的图像进行文字识别处理。
[0055] 下面详细说明本优选实施例的图像处理方法的各步骤的具体流程。
[0056] 在步骤S201中,图像处理装置基于图像中像素灰度的变化量,使用MSER(Maximally Stable Extremal Regions,极大值稳定区域算法)将图像划分为多个识别区域。这里的图像是指用于进行文字识别的图像,该图像包括背景以及文字。
[0057] MSER算法对图像的灰度图进行多个灰度阈值的设定,并对每个灰度阈值在图像区域中的像素数量进行统计,将灰度阈值变化最小的区域设定为极大值稳定区域。由于背景颜色和文字颜色具有一定的显示灰度差异,即文字和背景交界处的像素灰度的变化量会较大,而单纯的背景区域的像素灰度的变化量较小。因此上述极大值稳定区域可将图像划分为多个具有文字的识别区域(非极大值稳定区域),这里可将极大值稳定区域(纯背景区域)去除,以便对每个识别区域进行有效的文字识别。
[0058] 这里的每个识别区域中的像素点均可用识别区域信息以及区域位置信息表示,识别区域信息是指像素点所在的识别区域的信息,区域位置信息是指像素点在相应识别区域中的位置信息。随后转到步骤S202。
[0059] 在步骤S202中,图像处理装置根据步骤S101获取的每个识别区域的所有像素的灰度值,计算每个识别区域中所有像素的整体梯度幅值。
[0060] 这里可利用sobel算子计算识别区域中每个像素在水平方向的水平灰度梯度幅值GradientXImage,以及利用sobel算子计算识别区域中每个像素在垂直方向的垂直灰度梯度幅值GradientYImage。
[0061] 对于识别区域中的每个像素点image_n_gray(x,y),其中n为像素点的识别区域信息,x、y为像素点在相应识别区域的位置坐标。该像素点image_n_gray(x,y)的水平灰度梯度幅值为GradientXImage_n(x,y),像素点image_n_gray(x,y)的垂直灰度梯度幅值为GradientYImage_n(x,y)。
[0062] 该像素点image_n_gray(x,y)的整体梯度幅值为GradientAllImage_n(x,y),[0063]
[0064] 随后转到步骤S203。
[0065] 在步骤S203中,图像处理装置设定一指定区域[0,m]作为归一化的设定区域,m可为255等。
[0066] 图像处理装置遍历GradientAllImage_n(x,y)的所有值,获取所有GradientAllImage_n(x,y)中的最大值GradientAllImage_n_max。
[0067] 使用以下公式进行归一化处理。归一化之后的像素点image_n_gray(x,y)的整体梯度幅值为:GradientAllImageNormalize_n(x,y)。
[0068] GradientAllImageNormalize_n(x,y)=
[0069] m*GradientAllImage_n(x,y)/GradientAllImage_n_max。
[0070] 这样归一化处理后的每个像素点的整体梯度幅值均位于0至m之间。随后转到步骤S204。
[0071] 在步骤S204中,图像处理装置根据归一化处理后的识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域。
[0072] 如背景区域的像素灰度和文字区域的像素灰度的差值是固定的,则背景区域和文字区域的交界处的像素灰度的整体梯度幅值也是固定的,这些交界处的像素灰度的整体梯度幅值的出现次数与文字区域的大小成正比,即文字区域越大,交界处的像素灰度的整体梯度幅值的出现次数越大。
[0073] 在本步骤中,需要对主要的文字区域进行识别,而主要的文字区域在识别区域的面积较大,主要的文字区域与相邻背景区域的连接处的整体梯度幅值的出现次数也就较多,因此这里图像处理装置通过识别区域中所有像素的整体梯度幅值的出现次数对一些干扰的背景区域灰度变化进行过滤,如将出现次数较少的整体梯度幅值的像素点对应的区域滤除。
[0074] 具体请参照图3,图3为本发明的图像处理方法的第二优选实施例的步骤S204的流程图。该步骤S204包括:
[0075] 步骤S2041,图像处理装置以识别区域的所有像素的整体梯度幅值为横坐标,识别区域的所有像素的整体梯度幅值的出现次数为纵坐标,建立识别区域的像素梯度幅值坐标系。具体如图4所示,图4为本发明的图像处理方法的第二优选实施例中的像素梯度幅值坐标系的示意图。
[0076] 步骤S2042,图像处理装置随后在步骤S2041建立的像素梯度幅值坐标系上标注所有整体梯度幅值的出现次数点。这里是对识别区域的所有像素的整体梯度幅值进行统计,从而获取的每个整体梯度幅值在识别区域的出现次数,然后将上述整体梯度幅值以及对应的出现次数标注在像素梯度幅值坐标系上。如图4中的标注点可为整体梯度幅值A出现40次,整体梯度幅值B出现50次,整体梯度幅值C出现80次,整体梯度幅值D出现90次,整体梯度幅值E出现100次,整体梯度幅值F出现120次,整体梯度幅值G出现95次,整体梯度幅值H出现85次,整体梯度幅值I出现50次,整体梯度幅值J出现55次,整体梯度幅值K出现50次。其中A>B>C>D>E>F>G>H>I>J>K。这里将过小(基本为0)的整体梯度幅值删除。
[0077] 步骤S2043,图像处理装置对步骤S2042标注的整体梯度幅值的出现次数点进行高斯平滑处理,获取整体梯度幅值的出现次数曲线(即用高斯函数对这些出现次数点进行计算得到一组新的点分布)。具体如图5所示,图5为本发明的图像处理方法的第二优选实施例中的整体梯度幅值的出现次数曲线的示意图。
[0078] 步骤S2044,图像处理装置对出现次数曲线中的点进行一次求导以及二次求导,可以获取出现次数曲线的极大值点以及极小值点。如图4中的整体梯度幅值F,整体梯度幅值B以及整体梯度幅值J为极大值点,整体梯度幅值B和整体梯度幅值C之间、整体梯度幅值H以及整体梯度幅值I之间具有极小值点。
[0079] 通过对两个极小值点之间的极大值点进行分析,获取该极大值周围的非零出现次数的整体梯度幅值,即整体梯度幅值C、整体梯度幅值D、整体梯度幅值E、整体梯度幅值F、整体梯度幅值G以及整体梯度幅值H。
[0080] 将上述获取的极大值周围的非零出现次数的整体梯度幅值的区域设置为极大值F对应的极大值区域,即整体梯度幅值H至整体梯度幅值C对应的区域。当然通过上述方式可以获取出现次数曲线的多个极大值点以及对应的极大值区域。
[0081] 步骤S2045,将大于设定值的极大值点以及对应的极大值区域对应的整体梯度幅值区域,设置为出现次数极值区域。
[0082] 这样根据使用设定值过滤后的识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域。这里的出现次数极值区域是指识别区域中整体梯度幅值的出现次数较多的区域,应包括但不限于所有像素的整体梯度幅值的出现次数最多的区域。随后转到步骤S205。
[0083] 在步骤S205中,图像处理装置根据步骤S204获取的识别区域的出现次数极值区域,确定图像的文字区域边界。随后转到步骤S206。
[0084] 在步骤S206中,图像处理装置对步骤S205获取的文字区域边界内的区域进行填充操作,这样可以更好的区分文字区域以及背景区域,从而准确的获取图像的文字区域的位置,通过文字识别可将背景区域很好的进行去除。
[0085] 这样即完成了本优选实施例的图像处理方法的图像中的文字识别过程。
[0086] 在第一优选实施例的基础上,本优选实施例的图像处理方法对整体梯度幅值进行了归一化处理,进一步提高了文字识别操作的准确度;通过建立出现次数曲线来获取出现次数极值区域,简化了出现次数极值区域获取的计算过程;对文字区域边界内的区域进行填充操作,使得文字区域和背景区域的差异更大,更易将背景区域进行去除操作。
[0087] 本发明还提供一种图像处理装置,请参照图6,图6为本发明的图像处理装置的第一优选实施例的结构示意图。本优选实施例的图像处理装置可使用上述的图像处理方法的第一优选实施例进行实施,本优选实施例的图像处理装置60包括划分模块61、计算模块62、极值区域获取模块63以及识别模块64。
[0088] 划分模块61用于基于图像中像素灰度的变化量,将图像划分为多个识别区域;计算模块62用于根据识别区域的所有像素的灰度值,计算识别区域中所有像素的整体梯度幅值;极值区域获取模块63用于根据识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;识别模块64用于根据识别区域的所述出现次数极值区域,确定图像的文字区域边界,以便对图像进行文字识别处理。
[0089] 本优选实施例的图像处理装置60使用时,首先划分模块61基于图像中像素灰度的变化量,将图像划分为多个识别区域。这里的图像是指用于进行文字识别的图像,该图像包括背景以及文字,由于背景颜色和文字颜色具有一定的显示灰度差异,即文字和背景交界处的像素灰度的变化量会较大,而单纯的背景区域的像素灰度的变化量较小。因此通过上述变化量可将图像划分为多个具有文字的识别区域,并将没有文字的纯背景区域去除,以便对每个识别区域进行有效的文字识别。
[0090] 随后计算模块62根据划分模块61获取的每个识别区域的所有像素的灰度值,计算每个识别区域中所有像素的整体梯度幅值。由于识别区域中也包括背景区域以及文字区域,因此计算模块62获取识别区域中每个像素相对相邻像素的灰度变化量,作为该像素灰度的整体梯度幅值,从而可以将识别区域中的文字区域和背景区域划分开来。
[0091] 如背景区域的像素灰度和文字区域的像素灰度的差值是固定的,则背景区域和文字区域的交界处的像素灰度的整体梯度幅值也是固定的,这些交界处的像素灰度的整体梯度幅值的出现次数与文字区域的大小成正比,即文字区域越大,交界处的像素灰度的整体梯度幅值的出现次数越大。
[0092] 由于需要对主要的文字区域进行识别,而主要的文字区域在识别区域的面积较大,主要的文字区域与相邻背景区域的连接处的整体梯度幅值的出现次数也就较多,因此这里极值区域获取模块63通过识别区域中所有像素的整体梯度幅值的出现次数对一些干扰的背景区域灰度变化进行过滤,如将出现次数较少的整体梯度幅值的像素点对应的区域不进行文字识别,
[0093] 这样极值区域获取模块63根据过滤后的识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域。这里的出现次数极值区域是指识别区域中整体梯度幅值的出现次数较多的区域,应包括但不限于所有像素的整体梯度幅值的出现次数最多的区域。
[0094] 最后识别模块64根据极值区域获取模块63获取的识别区域的出现次数极值区域,确定图像的文字区域边界。随后识别模块64根据图像的文字区域边界对图像进行文字识别处理。
[0095] 这样即完成了本优选实施例的图像处理装置60的图像中的文字识别过程。
[0096] 本优选实施例的图像处理装置通过识别区域的出现次数极值区域来确定图像的文字区域边界,可准确的对图像中的文字进行识别,且出现次数极值区域的计算过程简单。
[0097] 请参照图7,图7为本发明的图像处理装置的第二优选实施例的结构示意图。本优选实施例的图像处理装置可使用上述的图像处理方法的第二优选实施例进行实施,本优选实施例的图像处理装置70包括划分模块71、计算模块72、归一化模块73、极值区域获取模块74、识别模块75以及填充模块76。
[0098] 划分模块71用于基于图像中像素灰度的变化量,将图像划分为多个识别区域;计算模块72用于根据识别区域的所有像素的灰度值,计算识别区域中所有像素的整体梯度幅值;归一化模块73用于基于预设的归一化设定,对识别区域中所有像素的整体梯度幅值进行归一化处理;极值区域获取模块74用于根据识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域;识别模块75用于根据识别区域的出现次数极值区域,确定图像的文字区域边界;填充模块76用于对文字区域边界内的区域进行填充操作,以便对填充操作后的图像进行文字识别处理。
[0099] 请参照图8,图8为本发明的图像处理装置的第二优选实施例的计算模块的结构示意图。该计算模块72包括水平垂直灰度梯度幅值计算单元81以及整体梯度幅值计算单元82。
[0100] 水平垂直灰度梯度幅值计算单元81用于根据识别区域的所有像素的灰度值,计算识别区域的所有像素的水平灰度梯度幅值以及垂直灰度梯度幅值;整体梯度幅值计算单元82用于使用识别区域的所有像素的水平灰度梯度幅值以及垂直灰度梯度幅值,计算识别区域的所有像素的整体梯度幅值。
[0101] 请参照图9,图9为本发明的图像处理装置的第二优选实施例的极值区域获取模块的结构示意图。极值区域获取模块74包括坐标系建立单元91、标注单元92、曲线获取单元93、极大值区域获取单元94以及极值区域获取单元95。
[0102] 坐标系建立单元91用于以识别区域的所有像素的整体梯度幅值为横坐标,识别区域的所有像素的整体梯度幅值的出现次数为纵坐标,建立识别区域的像素梯度幅值坐标系;标注单元92用于在像素梯度幅值坐标系上标注所有整体梯度幅值的出现次数点;曲线获取单元93用于对整体梯度幅值的出现次数点进行高斯平滑处理,获取整体梯度幅值的出现次数曲线;极大值区域获取单元94用于获取出现次数曲线的至少一个极大值点以及对应的极大值区域;极值区域获取单元95用于将大于设定值的极大值点以及对应的极大值区域对应的整体梯度幅值区域,设置为出现次数极值区域。
[0103] 请参照图10,图10为本发明的图像处理装置的第二优选实施例的极值区域获取模块的极大值区域获取单元的结构示意图。该极大值获取单元94包括极大值获取子单元941、整体梯度幅值获取子单元942以及极大值区域获取子单元943。
[0104] 极大值获取子单元941用于获取所述出现次数曲线的至少一个极大值;整体梯度幅值获取子单元942用于获取极大值周围的非零出现次数的整体梯度幅值;极大值区域获取子单元943用于将极大值周围的非零出现次数的整体梯度幅值的区域设置为极大值对应的极大值区域。
[0105] 本优选实施例的图像处理装置70使用时,首先划分模块71基于图像中像素灰度的变化量,使用MSER(Maximally Stable Extremal Regions,极大值稳定区域算法)将图像划分为多个识别区域。这里的图像是指用于进行文字识别的图像,该图像包括背景以及文字。
[0106] MSER算法对图像的灰度图进行多个灰度阈值的设定,并对每个灰度阈值在图像区域中的像素数量进行统计,将灰度阈值变化最小的区域设定为极大值稳定区域。由于背景颜色和文字颜色具有一定的显示灰度差异,即文字和背景交界处的像素灰度的变化量会较大,而单纯的背景区域的像素灰度的变化量较小。因此上述极大值稳定区域可将图像划分为多个具有文字的识别区域(非极大值稳定区域),这里可将极大值稳定区域(纯背景区域)去除,以便对每个识别区域进行有效的文字识别。
[0107] 这里的每个识别区域中的像素点均可用识别区域信息以及区域位置信息表示,识别区域信息是指像素点所在的识别区域的信息,区域位置信息是指像素点在相应识别区域中的位置信息。
[0108] 随后计算模块72根据划分模块获取的每个识别区域的所有像素的灰度值,计算每个识别区域中所有像素的整体梯度幅值。
[0109] 这里计算模块72的水平垂直灰度梯度幅值计算单元81可利用sobel算子计算识别区域中每个像素在水平方向的水平灰度梯度幅值GradientXImage,以及利用sobel算子计算识别区域中每个像素在垂直方向的垂直灰度梯度幅值GradientYImage。
[0110] 对于识别区域中的每个像素点image_n_gray(x,y),其中n为像素点的识别区域信息,x、y为像素点在相应识别区域的位置坐标。该像素点image_n_gray(x,y)的水平灰度梯度幅值为GradientXImage_n(x,y),像素点image_n_gray(x,y)的垂直灰度梯度幅值为GradientYImage_n(x,y)。
[0111] 然后计算模块72的整体梯度幅值计算单元82计算每个像素点image_n_gray(x,y)的整体梯度幅值GradientAllImage_n(x,y);
[0112]
[0113] 随后归一化模块73设定一指定区域[0,m]作为归一化的设定区域,m可为255等。
[0114] 归一化模块73遍历GradientAllImage_n(x,y)的所有值,获取所有GradientAllImage_n(x,y)中的最大值GradientAllImage_n_max。
[0115] 使用以下公式进行归一化处理。归一化之后的像素点image_n_gray(x,y)的整体梯度幅值为:GradientAllImageNormalize_n(x,y)。
[0116] GradientAllImageNormalize_n(x,y)=m*GradientAllImage_n(x,y)/GradientAllImage_n_max。
[0117] 这样归一化处理后的每个像素点的整体梯度幅值均位于0至m之间。
[0118] 然后极值区域获取模块74根据归一化处理后的识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域。
[0119] 如背景区域的像素灰度和文字区域的像素灰度的差值是固定的,则背景区域和文字区域的交界处的像素灰度的整体梯度幅值也是固定的,这些交界处的像素灰度的整体梯度幅值的出现次数与文字区域的大小成正比,即文字区域越大,交界处的像素灰度的整体梯度幅值的出现次数越大。
[0120] 在本步骤中,极值区域获取模块74需要对主要的文字区域进行识别,而主要的文字区域在识别区域的面积较大,主要的文字区域与相邻背景区域的连接处的整体梯度幅值的出现次数也就较多,因此这里极值区域获取模块74通过识别区域中所有像素的整体梯度幅值的出现次数对一些干扰的背景区域灰度变化进行过滤,如将出现次数较少的整体梯度幅值的像素点对应的区域不进行文字识别,
[0121] 具体获取出现次数极值区域的过程包括:
[0122] 极值区域获取模块74的坐标系建立单元91以识别区域的所有像素的整体梯度幅值为横坐标,识别区域的所有像素的整体梯度幅值的出现次数为纵坐标,建立识别区域的像素梯度幅值坐标系。具体如图4所示。
[0123] 极值区域获取模块74的标注单元92随后在坐标系建立单元91建立的像素梯度幅值坐标系上标注所有整体梯度幅值的出现次数点。这里是对识别区域的所有像素的整体梯度幅值进行统计,从而获取的每个整体梯度幅值在识别区域的出现次数,然后将上述整体梯度幅值以及对应的出现次数标注在像素梯度幅值坐标系上。如图4中的标注点可为整体梯度幅值A出现40次,整体梯度幅值B出现50次,整体梯度幅值C出现80次,整体梯度幅值D出现90次,整体梯度幅值E出现100次,整体梯度幅值F出现120次,整体梯度幅值G出现95次,整体梯度幅值H出现85次,整体梯度幅值I出现50次,整体梯度幅值J出现55次,整体梯度幅值K出现50次。其中A>B>C>D>E>F>G>H>I>J>K。这里将过小(基本为0)的整体梯度幅值删除。
[0124] 极值区域获取模块74的曲线获取单元93对标注单元标注的整体梯度幅值的出现次数点进行高斯平滑处理,获取整体梯度幅值的出现次数曲线(即用高斯函数对这些出现次数点进行计算得到一组新的点分布)。具体如图5所示。
[0125] 极值区域获取模块74的极大值区域获取单元94的极大值获取子单元941对出现次数曲线中的点进行一次求导以及二次求导,可以获取出现次数曲线的极大值点以及极小值点。如图4中的整体梯度幅值F,整体梯度幅值B以及整体梯度幅值J为极大值点,整体梯度幅值B和整体梯度幅值C之间、整体梯度幅值H以及整体梯度幅值I之间具有极小值点。
[0126] 极大值获取单元94的整体梯度幅值获取子单元942通过对两个极小值点之间的极大值点进行分析,获取该极大值周围的非零出现次数的整体梯度幅值,即整体梯度幅值C、整体梯度幅值D、整体梯度幅值E、整体梯度幅值F、整体梯度幅值G以及整体梯度幅值H。
[0127] 极大值获取单元94的极大值区域获取子单元943将上述获取的极大值周围的非零出现次数的整体梯度幅值的区域设置为极大值F对应的极大值区域。当然通过上述方式可以获取出现次数曲线的多个极大值点以及对应的极大值区域。
[0128] 极值区域获取模块74的极值区域获取单元95将大于设定值的极大值点以及对应的极大值区域对应的整体梯度幅值区域,设置为出现次数极值区域。
[0129] 这样极值区域获取单元95根据使用设定值过滤后的识别区域中的所有像素的整体梯度幅值的出现次数,获取识别区域的所有像素的整体梯度幅值的至少一个出现次数极值区域。这里的出现次数极值区域是指识别区域中整体梯度幅值的出现次数较多的区域,应包括但不限于所有像素的整体梯度幅值的出现次数最多的区域。
[0130] 随后识别模块75根据极值区域获取模块74获取的识别区域的出现次数极值区域,确定图像的文字区域边界。
[0131] 最后填充模块76对识别模块75获取的文字区域边界内的区域进行填充操作,这样可以更好的区分文字区域以及背景区域,从而准确的获取图像的文字区域的位置,通过文字识别可将背景区域很好的进行去除。
[0132] 这样即完成了本优选实施例的图像处理装置70的图像中的文字识别过程。
[0133] 在第一优选实施例的基础上,本优选实施例的图像处理装置对整体梯度幅值进行了归一化处理,进一步提高了文字识别操作的准确度;通过建立出现次数曲线来获取出现次数极值区域,简化了出现次数极值区域获取的计算过程;对文字区域边界内的区域进行填充操作,使得文字区域和背景区域的差异更大,更易将背景区域进行去除操作。
[0134] 下面通过一具体实施例说明本发明的图像处理方法及图像处理装置的具体工作原理。本具体实施例中对图11所示的图像进行文字识别处理。其文字识别过程包括:
[0135] 一、使用MSER算法将图像对图像进行区域转换,转换后的图像如图12所示,其中的黑色区域为极大值稳定区域,白色区域为具有文字的识别区域。
[0136] 二、使用sobel算子计算识别区域中每个像素在水平方向的水平灰度梯度幅值以及在垂直方向的垂直灰度梯度幅值。
[0137] 三、使用识别区域中每个像素的水平灰度梯度幅值以及垂直灰度梯度幅值,获取每个识别区域中所有像素的整体梯度幅值。
[0138] 四、对识别区域中所有像素的整体梯度幅值进行归一化处理,使得所有像素的整体梯度幅值的分布处于指定区间[0,255]内,即整体梯度幅值的最大值设定为255。
[0139] 五、将归一化处理后的识别区域中的所有像素的整体梯度幅值的出现次数在像素梯度幅值坐标系中进行标注,并对上述出现次数点进行高斯平滑处理,从而获取整体梯度幅值的出现次数曲线。
[0140] 六、根据出现次数曲线的极大值以及极小值,确定极大值对应的整体梯度幅值区域,并将大于设定值的极大值对应的整体梯度幅值区域设置为出现次数极值区域。
[0141] 七、根据识别区域的出现次数极值区域确定图像的文字区域边界,具体如图13所示。随后可对文字区域边界内的区域进行填充操作,从而可准确的获取图像的文字区域的位置。
[0142] 这样即完成了本具体实施例的图像处理方法及图像处理装置的图像中文字的识别过程。
[0143] 本发明的图像处理方法及图像处理装置通过识别区域的出现次数极值区域来确定图像的文字区域边界,可准确的对图像中的文字进行识别,且出现次数极值区域的计算过程简单;解决了现有的图像处理方法及图像处理装置的对图像中的文字无法进行准确区分或识别计算过程较为复杂的技术问题。
[0144] 如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
[0145] 图14和随后的讨论提供了对实现本发明所述的图像处理装置所在的电子设备的工作环境的简短、概括的描述。图14的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1412包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
[0146] 尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
[0147] 图14图示了包括本发明的图像处理装置的一个或多个实施例的电子设备1412的实例。在一种配置中,电子设备1412包括至少一个处理单元1416和存储器1418。根据电子设备的确切配置和类型,存储器1418可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图14中由虚线1414图示。
[0148] 在其他实施例中,电子设备1412可以包括附加特征和/或功能。例如,设备1412还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图14中由存储装置1420图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1420中。存储装置1420还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1418中由例如处理单元1416执行。
[0149] 本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1418和存储装置1420是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1412访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1412的一部分。
[0150] 电子设备1412还可以包括允许电子设备1412与其他设备通信的通信连接1426。通信连接1426可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1412连接到其他电子设备的其他接口。通信连接1426可以包括有线连接或无线连接。通信连接1426可以发射和/或接收通信媒体。
[0151] 术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
[0152] 电子设备1412可以包括输入设备1424,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1412中也可以包括输出设备1422,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1424和输出设备1422可以经由有线连接、无线连接或其任意组合连接到电子设备1412。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1412的输入设备1424或输出设备1422。
[0153] 电子设备1412的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1412的组件可以通过网络互连。例如,存储器1418可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
[0154] 本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1428访问的电子设备1430可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1412可以访问电子设备1430并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1412可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1412处执行并且一些指令可以在电子设备1430处执行。
[0155] 本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
[0156] 而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
[0157] 本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
[0158] 综上所述,虽然本发明已以实施例揭露如上,实施例前的序号,如“第一”、“第二”等仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。