一种文本图像倒置快速检测方法与流程

文档序号:12786863阅读:1126来源:国知局
一种文本图像倒置快速检测方法与流程

本发明涉及文本图像增强技术,尤其是针对扫描文本图像的方向倒置检测技术。



背景技术:

随着计算机技术的不断发展,基于OCR(光学字符识别)的文本图像数字化技术得到了广泛地应用。在完成OCR过程中,文本图像中的文字方向对字符识别性能影响至关重要。当文字存在倾斜时,如果不加以校正,会严重影响文字的识别率。特别是当文字存在倒置情况(即与正常方向偏差180°左右)。因此,在进行OCR之前,必须判断文本图像是否存在倒置情况,针对倒置情况应考虑首先进行旋转处理,以保证后续识别过程正常执行。

针对存在倾斜情况的文本图像,可以借助现有纠偏算法,检测倾斜度并进行相应地校正。但现有文本图像纠偏方法大都假定输入的文本图像倾斜度在一定范围之内,首先获取倾斜角度信息,进而完成倾斜度校正。但当输入文本图像完全倒置时,现有倾斜角度检测方法基本失效。曾凡锋等人提出了一种基于标点符号的文本图像倒置快速检测方法。该方法首先检测文本字符;然后结合中文字符及标点符号结构特征,筛选出文本图像中的标点符号,根据标点符号像素分布特点,判断标点符号类型;最后结合标点符号使用习惯,判断中文文本图像是否倒置。朱敏等人(专利公开号CN102831421A)提出一种基于标点符号的文本上下方向检测方法。该专利所提方法根据标点符号与文本行的相对位置属性来判断文本的方向,其基本思路与曾凡锋所提方法类似。这类基于标点符号的方法完全依靠标点特征,对于标点符号较少的文本图像无效,因此这类方法适用范围有限,不具有普遍性。



技术实现要素:

本发明的目的是克服现有技术的上述不足,提供一种面向文本图像的方向倒置快速检测方法。技术方案如下:

一种文本图像倒置快速检测方法,包括下列步骤:

第一步:对输入的文本图像进行预处理,得到二值化处理结果用B;

第二步:进行有效文本行检测,得到有效文本行序列;

第三步:进行文本行分类,方法如下:

1)对于有效文本行序列的各个有效文本行s,使用矩形结构算子进行膨胀运算,填充该有效文本行s相邻字符之间的空白;

2)计算各个有效文本行s在垂直方向的投影值,用V(c)表示,其中c表示列序号;

3)统计满足条件V(c)>0.5×Rhei(s)的c取值,将c的最小值记为cmin,称为该有效文本行s的左边界;将最大值分别记为cmax,称为有效文本行s的右边界,该扫描行的长度为Rleg=cmax-cmin

4)统计同一个有效文本行序列内各有效文本行对应的cmin(m)和cmax(m),将cmin(m)的最小值称为该有效文本行序列的左边界,记为clef;将cmax(m)的最大值称为该有效文本行序列的右边界,记为crgt

5)对于某有效文本行m,如果满足0.6<|cmin(m)-clef|/|cmax(m)-cmin(m)|<0.9,则将该有效文本行m判为“左缩进文本行”;如果满足0.6<|crgt-cmax(m)|/(cmax(m)-cmin(m))<0.9,则将该有效文本行m判为“右缩进文本行”;如果上述两个条件都不满足,则将该文本行判为“非缩进文本行”;

第四步:文本图像倒置检测,方法如下:

统计单幅文本图像中左缩进文本行和右缩进文本行的数目,分别用Nlef和Nrgt表示;使用下式判断文本图像是否存在倒置:

优选地,第二步的方法如下:

1)计算B中各行在水平方向的投影值,用H(r)表示,其中r表示行号序号;

2)计算H(r)的最大值,用Hmax表示;

3)对于第r扫描行,如果满足H(r)>0.5×Hmax,则将该行判为一个有效扫描行;

4)统计各有效扫描行的分布情况,如果检测到连续m行被判为有效扫描行,且满足m>M/100,则由这连续m个有效扫描行组成一个有效文本行序列;

确定该有效文本行序列中最上方和最下方有效扫描行的行号,用Rtop(s)和Rbot(s)分别表示该有效文本行序列的上下边界,定义该有效文本行序列的高度为Rhei(s)=|Rtop(s)-Rbot(s)|,符号|·|表示取绝对值符号,式中s是有效文本行的序号。

附图说明

图1是本发明所提方法的流程图

图2是本发明所用到的重要定义示意图

图3本发明定义的文本行类型示意图

图4本发明实验所用的文本图像左右缩进文本行数目示意图

具体实施方式

首先将输入文本彩色图像进行灰度化、双边滤波、对比度增强、二值化等预处理操作,提高文档图像视觉质量;然后借助水平投影分析,检测文本图像中的有效文本行,并结合文本行的位置和长度特征,对文本行进行分类;最后根据左缩进文本行和右缩进文本行的相对数目,判断文本图像是否存在倒置。图1所示为所提方法的框图。

首先给出若干有用的定义。一幅文本图像由多个段落构成,每一个段落中的字符字体、格式等特征基本一致。本发明将每一段落内各字符所能出现的最左侧和最右侧位置,分别称为“段落左边界”和“段落右边界”。图2给出了一个段落左边界和右边界的示意图。每个段落可能包括一个或多个文本行,对于任意文本行,将其最左侧字符的左侧和最右侧字符的右侧分别称为该文本行的“行左边界”和“行右边界”。图2给出了行左边界和行右边界的示意图。

对于某个文本行,其左右边界与所属段落的左右边界基本重合,则称该文本行为“完整文本行”。如果对于某个文本行,其左边界距离所属段落的左边界有2~4个字符,同时该文本行右边界与所属段落右边界基本重合,则称该文本行为“左缩进文本行”。对于某个文本行,其右边界距离所属段落右边界有2~4个字符,同时该文本行左边界与所属段落左边界基本重合,则称该文本行为“右缩进文本行”。图3给出了上述三类文本行的示意图。

根据中英文的书写习惯,每一个段落首行字符一般向右缩进2~4个字符,即对于包含两个或两个以上文本行的段落,其必然存在一个左缩进文本行。如果文本图像是正向的,则必然能检测到多个左缩进文本行。反之,如果文本图像是倒置的,则能检测到多个右缩进文本行。本发明正是通过检测和判断文本图像中左缩进文本行和右缩进文本行的相对数目,来判断该文本图像是否存在倒置情况。

本发明所提方法具体处理过程包括:预处理、文本行检测、文本行分类、文本方向倒置检测等四个主要步骤。

1、预处理

预处理的目的是提高文档图像的视觉质量,主要包括:灰度化、平滑滤波、对比度增强和二值化等步骤。

(1)灰度化:

判断输入文本图像是否是灰度图像,如果是灰度图像,则保持不变;如果是彩色图像,用CR、CG和CB分别表示红、绿、蓝三个颜色通道,使用式(1)计算灰度图像,用I表示。

I(x,y)=min{CR(x,y),CG(x,y),CB(x,y)} (1)

式中,x=0,1,2,...,M-1,y=0,1,2,...,N-1,M和N分别是文本图像的高度和宽度,即扫描总行数和扫描总列数。

(2)平滑滤波

考虑到文本图像在采集及数字化过程中受到噪声污染,采用双边滤波技术对灰度图像I进行滤波处理,降低噪声影响。用G表示经双边滤波处理后的图像。

(3)对比度增强

由于光照等原因的影响,文本图像的对比度可能偏低,采用直方图均衡技术对滤波图像G进行增强处理,处理结果用E表示。

(4)二值化处理

使用经典的Otsu法计算E对应的全局阈值,用Th表示。使用Th对E进行二值化处理,处理结果用B来表示,具体的做法是:

其中,B中取值为1的点代表文本点,取值为0的点代表背景点。

2、有效文本行检测

使用以下算法完成有效文本行检测:

有效文本行检测算法:

1)计算B中各行在水平方向的投影值,用H(r)表示,其中r表示行号序号。

2)计算H(r)的最大值,用Hmax表示。

3)对于第r扫描行,如果满足H(r)>0.5×Hmax,则将该行判为一个有效扫描行。

4)统计各有效扫描行的分布情况,如果检测到连续m行被判为有效扫描行,且满足m>M/100,则由这连续m个有效扫描行组成一个有效文本行。

5)确定该有效文本行中最上方和最下方有效扫描行的行号,用Rtop(s)和Rbot(s)分别表示该文本行的上下边界,定义该文本行的高度为Rhei(s)=|Rtop(s)-Rbot(s)|,符号|·|表示取绝对值符号,式中s是有效文本行的序号。

3、文本行分类

使用以下算法完成文本行分类:

文本行分类算法:

1)对于某一个有效文本行s,使用矩形结构算子对该文本行进行膨胀运算,填充该文本行相邻字符之间的空白。矩形结构算子的高度为2个像素,宽度为该文本行高度50%。

2)计算文本行在垂直方向的投影值,用V(c)表示,其中c表示列序号。

3)统计满足条件V(c)>0.5×Rhei(s)的c取值,将c的最小值记为cmin,称为该文本行的左边界;将最大值分别记为cmax,称为该文本行的右边界,该扫描行的长度为Rleg=cmax-cmin

4)统计同一个段落内各有效文本行对应的cmin(m)和cmax(m),将cmin(m)的最小值称为该段落的左左边界,记为clef;将cmax(m)的最大值称为该段落的右边界,记为crgt

5)对于某有效文本行m,如果满足0.6<|cmin(m)-clef|/|cmax(m)-cmin(m)|<0.9,则将该文本行判为“左缩进文本行”;如果满足0.6<|crgt-cmax(m)|/(cmax(m)-cmin(m))<0.9,则将该文本行判为“右缩进文本行”;如果上述两个条件都不满足,则将该文本行判为“非缩进文本行”。

4、文本图像倒置检测

统计单幅文本图像中左缩进文本行和右缩进文本行的数目,分别用Nlef和Nrgt表示。使用式(3)判断文本图像是否存在倒置:

实施例如下:

采用Windows10专业版系统下的Matlab2015a作为实验仿真平台,硬件平台是Intel i5-6200U CPU,8G内存。

选用专利申请人自行采集的90幅文本图像作为测试集,其中倒置文本图像78幅,正方向文本图像12幅。在全部90幅文本图像中,中文文本图像有56幅,占62%,英文文本图像34幅,占38%。采用本发明提出方法对测试图像进行处理,100%的倒置图像都正常检出。图4给出了90幅文档图像中左缩进文本行和右缩进文本行数目的分布情况。由图可见,对于正向文本图像,其左缩进文本行数明显大于右缩进文本行数;反之,对于倒置方向文本图像,是右缩进文本行数大于左缩进文本行数。很明显分为两类,即倒置文本图像类(在图中用符号“*”标识)和正向文本图像类(在图中用符号“o”标识)。

测试图像的尺寸是1944×2592分辨率达到了5000万像素,处理一幅图像的平均速度约为2300ms,如果换成执行效率更高的C语言编写算法,处理速度会更快,能够满足实时处理的要求。

由实验结果可见,采用本发明所述方法,可以快速有效的判断输入的扫描文本图像是否存在倒置情况,并能对包括中英文在内的多种语言类型的文本图像进行处理。

本发明的步骤总结如下:

步骤1:判断输入扫描文本图像类型,如果是灰度图像,则保持不变;如果是彩色图像,则用式(1)转换为灰度图像,用I表示灰度图像。

步骤2:采用双边滤波技术对灰度图像I进行滤波处理,滤波结果用G表示。

步骤3:采用直方图均衡技术,对滤波结果图像G进行增强处理,处理结果用E表示。

步骤4:使用Otsu法计算增强结果图像的全局阈值,并结合式(2)对E进行二值化处理,处理结果用B表示。

步骤5:采用有效文本行检测算法,检测扫描文本图像中的有效文本行。

步骤6:使用文本行分类算法,对每一个有效文本行进行分类,确定左缩进文本行和右缩进文本行的数目Nlef和Nrgt

步骤7:结合式(3),判断扫描文本图像是否存在倒置情况。

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