一种扫描文档图像纠偏方法

文档序号:10726342阅读:446来源:国知局
一种扫描文档图像纠偏方法
【专利摘要】本发明涉及一种扫描文档图像纠偏方法,包括:转换成灰度图像;进行滤波;提取边缘点二值图;借助投影分析计算扫描文档图像的倾斜角;根据Q计算文本区域的边界,进而计算出偏移量,并借助平移操作使文本区域居中。本发明通过检测输入扫描文档图像的倾斜度,对原始文档图像进行倾斜度矫正,可得到视觉质量更佳的文档图像。
【专利说明】
一种扫描文档图像纠偏方法
技术领域
[0001] 本发明涉及扫描文档图像处理技术,尤其是针对扫描文档图像的倾斜度检测与矫 正技术。
【背景技术】
[0002] 扫描仪扫描得到的文档图像常存在一定角度的倾斜。产生倾斜的原因主要由扫描 仪的进纸方式决定。常见的进纸方式有两种:手动进纸和自动馈纸。手动进纸是指用户手持 纸张直接由扫描仪的进纸口送入,并手动调整纸张位置,扫描时纸张不动,扫描头移动,这 样可以保证文档扫描时图像不发生倾斜,扫描结果没有明显偏差。但是,手动送纸只能一次 扫描一张原稿,效率很低。自动馈纸则是指由通过一定的自动机械装置对扫描机进行供纸。 扫描全程中纸张移动,扫描头不动。自动馈纸扫描方式虽然可以提高扫描效率,但生成的文 档图像易产生不同程度的倾斜,这不但影响了图像的视觉效果,还对后续的OCR识别准确率 影响较大。因此,对扫描文档图像进行自动倾斜度校正是非常有必要的。
[0003] 目前主要的倾斜角度检测方法为投影法、霍夫变换法、交叉相关法、相邻特征点聚 类法,矩形框调整法、Radon变换法等[1]-[6]。投影法的一般做法是选取特征,构造适当的 能量函数,对所有可能的倾斜角度,计算能量函数值,对计算结果求极值,对应能量函数值 最大的候选角度即为倾斜角度。这类方法对纯文本的扫描图像有效,但对文字区域较少的 扫描图像效果不佳。采用霍夫变换(Hough)进行文档图像的倾斜角度检测也是一种比较典 型的方法。该方法的抗干扰能力强,但缺点是运算复杂度高、效率低。另外,如果文本中出现 横、纵、斜等多种书写方向(如手写文档),使用该方法难以得到准确的角度。基于相邻特征 点聚类进行倾斜角度检测的基本步骤是:首先遍历图像,提取特征点(如各连通区域的质 点);对每个特征点,找出相邻的若干个特征点与其进行聚类,通过拟合计算倾斜角度;对倾 斜角度的分布,求最大值,最大值对应的倾斜角度即是所求的文档影像的倾斜角度。国内专 利方面,文志强等提出的"一种扫描文档图像的倾斜角自动检测方法"(申请号: CN201410769531.7)是对每一行文本区域进行连通域分析,借助区域生长技术得到文本行 特征。通过获取文本行的数量特征来计算倾斜度角度。马磊等人提出的"一种扫描文档图像 的快速纠偏方法"(申请号:CN201010146476.8)使用Hough变换检测直线段,进而使用检测 到的直线段的方向计算倾斜角度。
[0004] 参考文献:
[0005] [1].A.Amin,S.Fischer.A Document Skew Detection Method Using the Hough transform.Pattern Analysis&Applications,2000(3):243-253.
[0006] [2].Sarfraz M,Mahmoud S.A,Rasheed Z.On Skew Estimation and Correction of Text.Computer Graphics, Imaging and Visualisation,2007:308-313.
[0007] [3].吴涛,贺汉根.一种快速的文本倾斜检测方法.计算机工程与应用,2002(5): 113-115.
[0008] [4]. Baird H.S.Anatomy ofa versatile Page Reader .Proeeeding of the IEEE,1992,80(7):1059-1065.
[0009] [5].Liolios N,Fakotakis N,Kolddnakis G. Improved document skew detection based on text line connected-component clustering.Image Processing, 2001,1:1098-1101.
[0010] [6].Yue Lu,Chew Lim Tan. Improved nearest neighbor based approach to accurate document skew estimation. . In Proceedings on Seventh International Conference on Document Analysis and Recognition,2003:503-507.
[0011] [7].文志强,曾志高,朱文球,专利名称:"种扫描文档图像的倾斜角自动检测方 法",申请号:N201410769531.7
[0012] [8].马磊,刘江,专利名称:"一种扫描文档图像的快速纠偏方法",申请号: CN201010146476.8

【发明内容】

[0013] 本发明提出一种针对扫描文档图像的纠偏方法,通过检测输入扫描文档图像的倾 斜度,对原始文档图像进行倾斜度矫正,得到一幅视觉质量更佳的文档图像。
[0014] 本发明的技术方案如下:
[0015] -种扫描文档图像纠偏方法,包括下列步骤:
[0016] 1)对于输入的扫描文档,先转换成灰度图像为I;
[0017] 2)进行平滑滤波处理,处理结果用F表示;
[0018] 3)提取边缘点二值图E,方法如下:
[0019]利用水平和垂直模板对F进行滤波处理,得到水平和垂直梯度强度图,分别用Gh和 Gv,总的梯度强度图为G= |Gh| + |Gv| ;计算G的最大值,用Gmax表示,使用下式得到边缘点二值 图E:
[0021] 4)借助投影分析计算扫描文档图像的倾斜角,定义扫描文档的倾斜角为文本行与 水平线按顺时针方向的夹角,用P表示,使用以下算法检测倾斜角:
[0022]第1步:初始化倾斜角度值Θ和扫描图像总行数R,0的初始值设为45°,在[-45°, 45° ]之间逐渐调整Θ;
[0023]第2步:根据Θ的取值,如果Θ是正值,则将E图逆时针旋转Θ;如果Θ为负值,则将E图 顺时针旋转-Θ,旋转结果用表示Ee;
[0024]第3步:计算Εθ各行在水平方向的投影值,用Ee(r),r=l,2,. . .,R,表示,其中r表示 扫描文档图像的行号;
[0025]第4步:计算Ee(r)的最大值,用Ee(max)表示,对于第r扫描行,如果满足Ee(r)>0.6 X Εθ(max),则将该行判为旋转角为Θ的一个有效扫描行;
[0026]第5步:计算旋转角Θ对应的有效投影行总数,用Ν(θ)表示,使用Ν(θ)计算旋转角Θ 对应的能量函数Ρ(θ),它定义为:
[0028] 第6步:判断是否满足θ = -45°,如果满足,跳至第7步;否则,改变θ = θ-1°,跳至第2 步;
[0029] 第7步:计算Ρ(θ)中的最大值,并确定该最大值所对应的角度,用0max表示;将0max判 为文档图像的倾斜角奶根据倾斜角P的大小,如果炉〇,则将F顺时针旋转0度;否则,将F逆时 针旋转-识度,旋转过程中使用的插值方法为双线性插值,将经过倾斜角矫正处理后的图像 用Q表不;
[0030] 5)根据Q计算文本区域的边界,进而计算出偏移量,并借助平移操作使文本区域居 中,方法如下:
[0031] 第1步:计算Q的尺寸,用HET和WID分别表示Q的高度和宽度,其中心点用HET/2和 WID/2表示;
[0032]第2步:计算Q的直方图,使用最大类间方差法计算阈值TH;使用TH,将Q转化为二值 图B;
[0033]第3步:计算B各行在水平方向的投影值,用表示H(r),其中r表示扫描文档图像的 行号;
[0034]第4步:计算H(r)的最大值,用Hmax表示,对于第r扫描行,如果满足H(r)〈0.5 X Hmax, 则将该行判为有效文本行,记为Η(ν );
[0035]第5步:计算B各行在垂直方向的投影值,用表示V(c),其中c表示扫描文档图像的 列号;
[0036]第6步:计算V(c)的最大值,用Vmax表示,对于第c扫描行,如果满足V(c)〈0.5XVmax, 则将该行判为有效文本列,记为ν(ν);
[0037]第7步:计算Η(ν )中最上方文本行和最下方文本行的位置,分别用TOP和Β0Τ表示; 计算V((/ )中最左侧文本列与最右侧文本列的位置,用RHT和LEFT表示;计算文本区域的中 心点坐标,用CENTX和CENT y表示;
[0038]第8步:对于Q进行文本居中处理。
[0039] 本发明提出的扫描文档图像纠偏方法。首先将利用中值滤波处理对灰度文档图像 进行去噪,然后提取图像的边缘图,使用边缘点梯度方向,构造合适的特征函数,将特征函 数极值对应的角度判为倾斜角度,在此基础上完成扫描文档图像的倾斜度矫正。计算机仿 真结果表明,本发明可以快速检测扫描文档图像的倾斜度,能够满足实时处理的要求。
【附图说明】
[0040] 图1是所提方法的流程图。
[0041] 图2是边缘点提取所用的模板。
[0042]图3文本行夹角示意图。
[0043]图4是所提方法的实验结果示例,(a)列的两个图为原图,(b)列的两个图为处理结 果图。
【具体实施方式】
[0044]本发明所提扫描文档图像纠偏方法主要包括三部分:预处理、倾斜角检测与矫正 和文本区域居中等主要步骤。图1所示为所提方法的流程图。以下介绍各步骤的详细实现过 程:
[0045] 1、彩色图像灰度化
[0046] 首先判断输入的扫描文档图像类型,如果输入的扫描文档图像是彩色图像,先转 化为灰度图像。
[0047]用C表示输入彩色扫描文档图像,其红、绿、蓝三通道图像分别用Cr、Cg和CB表示。则 C对应的灰度图像(用I表示)是三个颜色子通道图像的最小值,即有
[0048] I(x,y)=min(CR(x,y) ,Cc(x,y) ,Cb(x,y)) (1)
[0049] 2、平滑滤波
[0050] 文档在扫描过程中可能引入噪声。所提方法使用中值滤波器对I进行平滑处理,处 理结果用F表示。具体过程如下:
[0051 ] 算法1:中值滤波
[0052] 第1步:选取I中(x,y)位置上的点,用I(x,y)表示,以它为中心,选取周围的"4-邻 域点",即该点上方、下方、左方和右方的4个点,分别用I(x_l,y)、I(x+l,y)、I(x,y_l)和I (x,y+l)表不;
[0053] 第2步:对这5个点的灰度值进行排序,选取中间值,记为Ime3d(x,y),将F(x,y)赋值 为Imed(X,y ) 〇
[0054] 第3步:确定是否遍历了I中所有点,如果是,则算法结束;否则改变当前点的位置, 返回第1步。
[0055] 3、提取边缘图
[0056] 所提算法使用投影分析检测倾斜角,为了加快处理速度,提高抗干扰能力,所提方 法只使用边缘点进行倾斜角检测。具体过程如下:
[0057] 算法2:边缘图提取
[0058]第1步:使用图2所示的水平和垂直模板对F进行滤波处理,得到水平和垂直梯度强 度图,分别用Gh和Gv,总的梯度强度图为G = | Gh | + | Gv | ;
[0059]第2步:计算G的最大值,用Gmax表示,使用下式得到边缘点二值图E:
[00611 4、倾斜角检测与矫正
[0062]所提方法借助投影分析计算扫描文档图像的倾斜角。定义文档图像的倾斜角为文 本行与水平线按顺时针方向的夹角,用表示,如图3所示,图中实线代表文本行,虚线代表 水平方向。使用以下算法检测倾斜角。
[0063] 算法3:倾斜角检测
[0064]第1步:初始化倾斜角度值Θ和扫描图像总行数R,在[-45°,45° ]之间逐渐调整,Θ的 初始值设为45° ;
[0065] 第2步:根据Θ的取值,如果Θ是正值,则将E图逆时针旋转Θ;如果Θ为负值,则将E图 顺时针旋转-Θ,旋转结果用表示Εθ。
[0066] 第3步:计算Εθ各行在水平方向的投影值,用表示Ee(r)(r=l,2, . . .,R),其中r表示 扫描文档图像的行号。
[0067] 第4步:计算Ee(r)的最大值,用Ee(max),如果对于第r扫描行,如果满足Ee(r)>0.6 X Εθ(max),则将该行判为旋转角为Θ的一个有效扫描行。
[0068]第5步:计算旋转角Θ对应的有效投影行总数,用Ν(θ)表示,使用Ν(θ)计算旋转角Θ, 对应的能量函数Ρ(θ),它定义为:
[0070] 第6步:判断是否满足0 = -45°,如果满足,跳至第7步;否则,改变θ = θ-1°,跳至第2 步。
[0071] 第7步:计算ρ(θ)中的最大值,并确定该最大值所对应的角度,用0max表示。将0max判 为文档图像的倾斜角9。
[0072] 根据前面得到的倾斜角P的大小,如果,〇,则将F顺时针旋转<?>度;否则,将F逆时针 旋转-度。旋转过程中使用的插值方法为双线性插值,将经过倾斜角矫正处理后的图像用Q 表不。
[0073] 5、文本区域居中
[0074]文档图像经过倾斜度矫正后,文本区域可能偏上、偏下,偏左或偏右。为了便于读 者阅读,有必要对Q居中处理。即根据Q计算文本区域的边界,进而计算出偏移量,并借助平 移操作使文本区域居中。
[0075] 具体过程如下:
[0076] 算法4:文本区域居中
[0077] 第1步:计算Q的尺寸,用HET和WID分别表示Q的高度和宽度,其中心点用HET/2和 WID/2表示。
[0078]第2步:计算Q的直方图,使用最大类间方差法计算阈值TH。使用TH,将Q转化为二值 图,用B表示,即有
[0080]第3步:计算B各行在水平方向的投影值,用表示H(r),其中r表示扫描文档图像的 行号。
[0081 ]第4步:计算H(r)的最大值,用Hmax,如果对于第r扫描行,如果满足H(r)〈0.5 X Hmax, 则将该行判为有效文本行,记为Η(ν )。
[0082]第5步:计算Β各行在垂直方向的投影值,用表示V(c),其中c表示扫描文档图像的 列号。
[0083]第6步:计算V(c)的最大值,用Vmax,如果对于第c扫描行,如果满足V(c)〈0.5XVmax, 则将该行判为有效文本列,记为ν(ν)。
[0084]第7步:计算Η(ν )中最上方文本行和最下方文本行的位置,分别用TOP和Β0Τ表示; 计算V((/ )中最左侧文本列与最右侧文本列的位置,用RHT和LEFT表示;计算文本区域的中 心点坐标,用 CENTX和CENTy表示,即有:CENTX = 0 · 5 X (Τ0Ρ+Β0Τ),CENTy=0 · 5 X (RHT+LEFT)。 [0085]第8步:对于Q中的任一点Q(x,y),使用下式进行文本居中处理,处理结果用MU', y')表示,两者之间的位置关系是:
[0087]用W表示经过居中处理后的文档图像。
[0088] 采用Windows7 SP1系统下的matlab2015b作为实验仿真平台。选用专利
【申请人】扫 描仪得到的文档图像。采用本发明提出的方法对测试图像进行处理,均得到了良好的处理 效果。扫描文档图像的水平/垂直分辨率都是300dpi,像素数为2480X3508。采用所提方法 的平均处理速度为52ms,处理速度非常迅速。图4给出了部分处理结果,其中左侧是输入图 像,右侧是处理结果。
【主权项】
1. 一种扫描文档图像纠偏方法,包括下列步骤: 1) 对于输入的扫描文档,先转换成灰度图像为I; 2) 进行平滑滤波处理,处理结果用F表示; 3) 提取边缘点二值图E,方法如下: 利用水平和垂直模板对F进行滤波处理,得到水平和垂直梯度强度图,分别用抽和Gv,总 的梯度强度图为G= |Gh| + |Gv| ;计算G的最大值,用Gmax表示,使用下式得到边缘点二值图E:4) 借助投影分析计算扫描文档图像的倾斜角,定义扫描文档的倾斜角为文本行与水平 线按顺时针方向的夹角,用^^表示,使用^下算法检测倾斜角: 第1步:初始化倾斜角度值目和扫描图像总行数R,目的初始值设为45°,在[-45°,45°]之 间逐渐调整9; 第2步:根据Θ的取值,如果Θ是正值,则将E图逆时针旋转Θ;如果Θ为负值,则将E图顺时 针旋转-Θ,旋转结果用表示Εθ; 第3步:计算Εθ各行在水平方向的投影值,用Εθ(;Γ) ,r=l ,2,. . .,R,表示,其中r表示扫描 文档图像的行号; 第4步:计算Εθ(;Γ)的最大值,用Ee(max)表示,对于第r扫描行,如果满足Εθ(;Γ)〉0.6ΧΕθ (max),则将该行判为旋转角为Θ的一个有效扫描行; 第5步:计算旋转角Θ对应的有效投影行总数,用Ν(θ)表示,使用Ν(θ)计算旋转角Θ对应 的能量函数Ρ(θ),它定义为:第6步:判断是否满足θ = -45%如果满足,跳至第7步;否则,改变θ = θ-1%跳至第2步; 第7步:计算Ρ( Θ )中的最大值,并确定该最大值所对应的角度,用表示;将判为文 档图像的倾斜角口;根据倾斜角0的大小,如果0>〇,则将F顺时针旋转則竟;否则,将F逆时针旋 转-列竟,旋转过程中使用的插值方法为双线性插值,将经过倾斜角矫正处理后的图像用Q表 示; 5) 根据Q计算文本区域的边界,进而计算出偏移量,并借助平移操作使文本区域居中, 方法如下: 第1步:计算Q的尺寸,用皿T和WID分别表示Q的高度和宽度,其中屯、点用皿T/2和WID/2 表不; 第2步:计算Q的直方图,使用最大类间方差法计算阔值TH;使用TH,将诞专化为二值图B; 第3步:计算B各行在水平方向的投影值,用表示H(r),其中r表示扫描文档图像的行号; 第4步:计算H(r)的最大值,用Hmax表示,对于第r扫描行,如果满足H(r)<0.5 X Hmax,则将 该行判为有效文本行,记为H(r/ ); 第5步:计算B各行在垂直方向的投影值,用表示V(c),其中C表示扫描文档图像的列号; 第6步:计算V(C)的最大值,用Vmax表示,对于第C扫描行,如果满足V(cK〇.5XVmax,则将 该行判为有效文本列,记为V(c/ ); 第7步:计算H(r/ )中最上方文本行和最下方文本行的位置,分别用TOP和BOT表示;计算 V(c/ )中最左侧文本列与最右侧文本列的位置,用RHT和LEFT表示;计算文本区域的中屯、点 坐标,用CENTx和CENTy表示; 第8步:对于Q进行文本居中处理。
【文档编号】G06T3/60GK106097254SQ201610404924
【公开日】2016年11月9日
【申请日】2016年6月7日
【发明人】王建
【申请人】天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1