背景技术
畸变图像的校正是一种非常有用的图像处理技术,一般有两类校正方法,一类是通过在图像上设置一些已知的参考点,根据参考点在畸变前后的对照进行校正;另一类是无参考矫正,它完全通过分析图像自身的特点进行校正。
对于前一类,一般的做法是通过一定的方法,在图像上附加上一些已知的参考点,即无失真图像某些像素点和畸变图像相应像素的坐标间对应关系,作为校正的依据。比如事先在被拍摄的物体上贴上一层网格,这样就可以通过提取拍摄所得图像上的网格点,与原始网格点的关系进行图像校正了。关于这种方法的研究很多,如文献“一种扫描图像几何畸变的数字校正方法”[作者张雪峰,张全法,冯小星,视频技术应用与工程,文章编号:1002-8692(2003)09-0078-02],文献“光学图像几何畸变的快速校正算法”[作者周海林、王立崎,中国图像图形学报Vol.8(A),No.10 Oct.2003]等。
对于后一类,若针对的是一般的非特定畸变图像,只通过分析图像来校正难度极大。一般是针对某一种特定类型的图像,根据该类图像的特征分析来进行后期的校正。本技术属于后一类,即对以文本为主的文稿图像进行分析校正。
对于将文稿扫描为图像而言,其目的大多是用于资料保存、文字识别(OCR)等场合。在用于资料保存时,可以运用上述附加网格的方式,进行图像的参考校正,这种运用一般是为了保存一些珍贵但不平整原稿。如文献“不平整原稿扫描图像几何校正的研究”[作者曹俊辉,曹伯燕,第1 5卷 第4期]等提到的方法。而在OCR的运用中,附加网格的操作并不方便,甚至由于条件所限无法完成,很难适应于需要进行批量、快速识别的场合。因此通过分析图像自身的特点,进行无参考校正是必要的。
在OCR的运用中,文字区域的畸变不仅影响到美观,更会严重影响图像的版面分析、行切分等图像处理的准确性,甚至使这些操作无法进行,如弯曲严重的文本基本无法进行行切分处理。因此图像校正质量的好坏,不仅影响到图像的主观质量评价,还会直接影响到对图像后续处理的环节。此外,由于在所有的OCR运用中都只需要识别文字、表格等包含字符的区域,因此在OCR中,必须对文字、表格等需要识别的区域进行校正,而对图像、花边等不需要识别的区域的校正主要是要求不能对文字区域产生影响,例如文字校正后,由于位置发生移动而覆盖在图像上,则会影响到后续的版面分析、切分等。这些非文字区域在矫正后仍应做到与文本区域保持原稿中的相对的位置,避免文字移动、非文字区域不动的情况。
文稿图像的来源最常见的有两类:通过扫描仪对文稿进行扫描;或通过数码相机、拍照手机、摄像头等对文稿进行拍照获得。用扫描仪进行扫描时,通过将书稿拆开或展平后进行再扫描,一般可避免图像产生畸变。但若直接将书稿放与扫描仪上扫描,或用数码相机拍照时,由于有书籍的存在,很难避免图像的弯曲的畸变。特别是用数码相机拍照时,除了书稿本身的弯曲因素外,还由于拍照的方向、镜头与书稿的角度等很难精确对正,导致畸变几乎无法避免,就算书稿比较平整,也很容易发生一定的放射性畸变。在数码相机普及率和运用已经很高的今天,对文稿的校正显得尤为重要。
文献“积厚文档扫描图像校正”[作者:向世明,赵国英,陈睿,贾富仓,李华,计算机辅助设计与图形学学报,Vol.17,No.1 Jan.,2005]提出一种不附加网格,只通过分析文稿本身特点来进行校正的方法,其基本原理是:1)假设文稿中只有纯文本,无图像、表格、花边等的干扰。2)假设文稿无错位分栏等复杂的排版,文本行是从左到右贯穿的,或者说同一垂直坐标处只有一行文本行。3)只在书籍处产生畸变,书页中大部分区域无畸变;4)同一条文本行弯曲的方向固定,例如都是凸或只有凹状弯曲。针对这种情况,该文献使用水平投影的方法找到每行文本,并通过找文字重心的方法找到文本行的中心线,通过对中心线进行椭圆曲线拟合从而进行校正。
对一般用扫描仪扫描的纯文本文献,用此方法处理是可行的,但对复杂的文稿,或用数码相机拍照文稿所的图片,很难满足上述的假设。用数码相机对文稿拍照时,如上所述,其畸变很难避免,而且其畸变的形式要复杂得多,比如弯曲的程度可能很严重;弯曲不仅发生在书籍,在其它区域也普遍存在;弯曲的方向不是只有凸或只有凹状弯曲,而是在同一条文本行中呈现多处凸凹相间的弯曲;畸变可能呈现放射性、不平行性。(如图3的上部区域呈凸状弯曲,而下部呈凹状弯曲)。这些特征若再加上版面复杂的因素,会导致现有技术中分析文本行的方法完全失效:1)当有文本弯曲严重、图像、表格干扰、文本行非左右贯通等情况出现时,通过水平投影无法获的文本所在的位置。2)获得文本行的大致位置后,很难将文本行和图像、表格、花边等区分开,若将图像、表格、花边当成文本行,由于它们的高度、位置差异较大,用求出的中心线进行拟合获得的曲线不能反映真实的畸变趋势。3)若不处理图像、表格、花边等非文本区域区域,则由于校正后的文本行位置会发生偏离,而未处理的区域位置不变,因此校正过的和未校正过的区域相对关系会发生改变,严重时会使被校正过的区域落入未校正过的区域,产生重叠现象,使后续的版面分析、切分等发生错误,甚至无法进行。
可见现有技术只处理了工整的、弯曲程度轻微的纯文本文稿图像。而无法处理弯曲程度严重,版面相对复杂的文稿图像。
发明内容
针对现有技术中对文稿图像畸变校正的不足,本发明的目的是提出一种文稿图像几何畸变的校正方法,该方法对弯曲严重、版面相对复杂的图像中的文字区域有很好的校正效果,对其它的非文本区域,如图像区、表格、花边、公式也有较大的改善,从而使图像主观质量提高,并能有效提高OCR的识别率。
为实现以上目的,本发明采用的技术方案是:一种文稿图像几何畸变的校正方法,包括以下步骤:
(1)对图像进行二值化等预处理;
(2)在二值化图像上求出游程图;
(3)用一系列垂直线与游程图中的黑色部分相交,获得一系列穿越交线,简称穿越线;
(4)将穿越线分配到不同的区段中,获得区段列表;
(5)从每个区段中挑选出能反映该区段几何畸变的采样点;
(6)计算矫正的目标位置,将曲线拟合到目标;
(7)对区段外的区域做背景填充。
进一步,在步骤(1)中,对图像进行二值化预处理后利用版面分析的技术分析出文本、图像表格区域,每个区域单独校正,或者不进行版面分析,在整个图像上统一进行校正。
在步骤(2)中,对横排文稿图像生成游程图时,X与Y方向的涂黑阈值应相差2倍以上,所述的X方向为水平方向,Y方向为垂直方向。
进一步,在步骤(3)中,用一系列贯穿整个图像的垂直线与游程图相交,获得一系列穿越线,穿越线为对游程图的抽样,每条穿越线直观地反映出游程图中所穿越的位置的几何特性,各次穿越的水平间距为N个像素,N为常数或者是根据图像密度分布设为变化的值。
在步骤(4)中,分析穿越线,获得游程区段列表,穿越线分配到同一个区段时满足以下条件之一:
1)相邻的穿越线上沿或下沿对齐;
2)相邻的穿越线在水平方向相互包含;
所得的区段按以下规则合并:
将有首尾交叠的行合并。
在步骤(5)中,在每个区段中按是否能描述该区段弯曲趋势的要求,挑选所需的采样点集,挑选的原则是:区段中相临穿越线中点连续的中点集合。
在步骤(6)中,为每个区段计算矫正的目标位置时,缺省的垂直方向位置用该区段中所有的采样点的平均值表示,此外,对缺省位置采用后来者避让已确定者的方法调整。
在步骤(6)中,将曲线拟合到目标时,根据每个区段选出来的采样点,采用以下的一种曲线拟合方式:多项式拟合、贝塞尔曲线拟合、B样条拟合、椭圆曲线。
再进一步,所述的多项式拟合是小于6阶的固定阶数多项式拟合,或自适应的变阶数多项式拟合。
以上发明内容是以横排文稿为例进行的表述。如果所处理的是竖排文稿时,可以将文稿旋转90度;或将所描述的水平方向与垂直方向互换,即X方向与Y方向互换即可。
本发明的效果在于:采用本发明所述的方法,能对弯曲严重、版面相对复杂的文稿图像有较好的校正效果,从而使图像主观质量提高,并能有效提高OCR的识别率。
本发明的原理是:首先将对图像进行二值化处理(若已经是二值图像则无须这一步)。假设图像中存在一定数量的规则区域(规则区域可定义为:在该区域的每个水平位置处,其垂直方向的中心位置光滑变化、无突变。在实际的文稿图像中,符合这样条件的规则区域大多数是文本、表格横线等所在的区域,剩下的图像、花边等一般不能满足这个条件,它们构成非规则区域)。通过对二值图像进行黑游程处理获得游程图,再在游程图上用垂直线进行相交(称为穿越),获得一系列垂直穿越线,分析这些穿越线可获得若干个区段,每个区域段中既有规则的区域,也可能存在不规则区域。在每个区段中的规则区域上采集采样点,进行曲线拟合和校正,不规则区域不取采样点,不参与曲线拟合,但需要按规则区域拟合出来的曲线进行校正。这样的处理使区域的划分变得很宽松,只要保证一个区域中有一定数量的规则区域即可,不规则区域依赖于规则区域的带动进行校正。
具体实施方式
下面结合附图对本发明实施方式作进一步详细的描述。
图1列出了本发明各步方法的流程示意图,包括以下步骤:
(1)对非二值图像先进行二值化;
本实施例中,在步骤(1)中还可对版面进行预先分析,事先确定出图像中的文字、图像、表格等区域,再针对不同区域的特点进行更好的矫正。但由于图像的畸变,很难保证自动版面分析的正确性,特别是版面复杂时,常需要用手工再调整。因此在自动矫正的场合中,可不进行版面分析,直接在整张图上进行分析。本实施例中采用直接在整张图上进行分析的方法。
(2)首先对图像进行游程处理,获得黑游程图;
对二值图像而言,此处的游程图指分别在X和Y方向,将图像中比较短(小于某阈值)的白线段填黑。这样处理后的图像称为黑游程图,简称游程图。游程图可直观地理解为一种“涂黑(白)”处理,它可反映出图像中各部分的主要几何形状特征,而将细节掩盖。
先对数字化以后的图像(如图2、图3、图4所示)求出对应的黑游程图(如图5、图6、图7所示),可以看到,在游程图上,文字左右的间都隙被涂黑,而两行被分割开来;文字与周围的花边等被连接在一起;表格线被保留下来,部分表格线与表格内的文字粘连。
在步骤(2)中,应处理成X方向适当多连接(涂黑),Y方向尽量断开(保留空白),可通过在X和Y方向取相差较大的涂黑阈值来实现这一点,本实施例中Y方向的涂黑阈值为X方向的10倍。这样获得的游程图既抹掉了文稿图像中的细节,又最大可能地保留了各区域的轮廓特征。如图5、6、7所示,可以在游程图中清晰地看出,文字、图像、表格等的细节不再可见,但文本行、表格、图像的轮廓清晰地被表达出来。
通过游程处理,可有效的避免现有技术中采用“重心”法求中点带来的不平滑性。例如,对“土地”这个词组, “土”字求出的重心偏下,与“地”字的重心相差大,有突变,不利于以后的拟合。而在黑游程图上,这两个字整体被涂黑,其垂直穿越线的中点位置光滑无突变。在涂黑后的游程图中,行的轮廓被描述出来,而图片、花边等区域绝大部分被整个涂黑。
(3)在游程图上,水平方向每隔N个像素的位置进行垂直方向的穿越,获得一系列的垂直穿越线;
在步骤(3)中,所取的N值应兼顾效率与精度。如步骤(2)中所述,穿越线可以视为对游程图的抽样,因此N值越大所获的穿越线越少,分析的开销越小,效率越高。但N值过大意味着抽样的减少,会影响精确性,一般可设在15以内。在本实施例中,穿越线的间距取为10个像素,所得的穿越线在图5、图6、图7中以灰色的短线表示。
(4)分析穿越线,将穿越线分配到不同的区段中,获得游程区段列表;
分析穿越线,按宽松的方式将所有的穿越线分组,假设有M组,每条穿越线代表它附近的一个小区域,具体为相邻水平方向,左右各N/2个像素位置处的游程图像;每个组称为一个游程区段,简称区段或段,这样就将游程图中的所有区域分成了M段,每段包含的区域用该段中所有穿越线代表的区域共同组成。每个区段中的穿越线长度不一定近似,可以允许一部分穿越线与区段中的其它穿越线在长度上有较大的差别,但位置应邻近。这可以直观地理解为:本方法无须按图像中各个区域的几何外型进行严格的分类,它允许将位置相邻(即穿越线位置应邻近),几何形状差异较大(即穿越线长度差别较大)的区域划归到同一个区段中。在文稿扫描图像中,其文字行较为规则,代表文字的穿越线长度差异较小,而代表花边、图像、表格竖线等区域的大多数穿越线长度相差较大,它们与代表文字的穿越线相差也较大,这些差异大的穿越线被划入到同一个区段中,意味着在以文字为主的文稿图像中,花边、图像、表格将被划归入它们邻近的文字区域中。
按先上后下,先左后右的顺序检查每条穿越线。对每一条穿越线,看它1)上沿或下沿是否与前一条穿越线大体对齐。2)是否呈包含关系:前面的线将后面的线在水平方向包含进来,或后边的线将前面的线包含进来。若满足其中的一个条件,就将当前穿越线归入前一条穿越线所属的区段,否则新建立一个区段来包含它。这样处理完所有的穿越线后,就得到一个段列表。同一段中可以包含长短差异很大的穿越线。表格线(包括横线和竖线)、图片区域、花边等都被归入到某个段中。这样就将所有的穿越线归入了不同的区段,如图8、图9、图10所示。
需要说明的是:在将穿越线归入区段的过程中,其要求是很宽松的,此时不进行穿越线的高度是否一致等的检查。高度相差很大的穿越线也可被归为同一区段,只是在以后的拟合中,不规则的穿越线不参与曲线拟合的采样点采集。
在该步骤中,另一项重要的工作是对上述分析出来的区段进行合并、拆分的处理,一般应做的整理有:
(1)找出宽度过小的段(简称窄段),查看其周围宽度足够大的段(简称宽段)。在宽段中挑选与窄段的包围矩形有最大重叠度,且重叠部分的两段的平均垂直位置相足够近(本实施例中取小于两段平均高度的1/2)的宽段,作为窄段的宿主段,将窄段合并入宿主段中。
(2)找出首尾有交叠的两个段,按其交叠处附近穿越线中点位置是否大致相等的原则(本实施例中取小于两段平均高度的1/4),决定是否合并这两个段。
经过以上的合并后,一些在生成游程图时被分得过碎的区域(主要是一些标点、图像中的细碎区域等),都可被合并入相应的大块区域中。
本实施例中,如图14所示,由于获得的区段可能较零碎,为了获得好的校正效果,需要将细碎的区段合并入合适的区段中。而对不合适的区段,有可能需要对之进行拆分。首先是将较小的区段合并入它们的宿主行中,所得的结果如图15所示。再对有首尾交叠的行进行合并,将较短的行合并入较长的区段中,所得的结果如图16所示。最终的到的区段是整块的,适合做曲线拟合区段。
(5)分析游程区段,选出曲线拟合的采样点集;
在每个区段中按是否能描述该区段弯曲趋势的要求,挑选所需的采样点集,挑选的原则是:区段中相临穿越线中点连续,跳变小的中点集合。
具体来说,分析每段中的穿越线,挑出其Y方向中点位置光滑变化的穿越线,被挑出的线所代表的区域做为该段中规则区域,其Y方向中点做为该段进行曲线拟合时使用的采样点。
如步骤3中所述,在一个区段中的穿越线并不都适于用来生成拟合曲线用的采样点,采样点应该是能反映该区段的弯曲趋势,如图17中右边的花边形成的穿越线,基本被最包含到最上面的A区段和最下面的B区段中。A区段中花边线产生的穿越线(最右边第2、3、4条)并不参与采样点的生成,但它们被A区段拟合出来的曲线(区段中部的白色曲线)一起校正,从而达到了整个区域被同步校正的目的。同样的还有B区段中花边线产生的穿越线。再如图10中左下角的图像区域等,他们的几何形状与文本相去甚远,但都被和一些文本行划入了同一个区段。因此该方法可不局限于查找文本行,它将规则的部分(文本)与不规则部分(花边、图像、表格线等)划入到一个区段,由规则部分带动不规则部分进行校正。
本实施例中,根据上述方法,通过穿越线中点位置是否连续,再用行高辅助判断,可选出每个区段上的采样点,在图8、图9、图10中用区段中的白点表示。
按穿越线中点是否光滑变化的原则挑选采样点,这样挑出的采样点大多位于图像中的文字、标点、表格横线等区域。而图像、花边的不规则的区域由于几何特性与文字等相差大,一般不会被挑中。为方便起见,称采样点所代表的区域为规则区域。
这样,按现有技术中的投影法无法找出的文本行,基本被分配到各段中,而且一般是段中的规则区域,它们为段的曲线拟合做出贡献,段中其它不规则区域的在校正时被它们带动。而且由于每个段中的规则区域与非规则区域紧密相接、混和,其畸变的趋势是相同的,用每段的规则区域(大多为文字等)的拟合曲线校正非规则区域(大多为图像、表格竖线、花边等)是合理的。从而达到了整张畸变图像都得到了校正的效果。此外,采用穿越线分析的方法,受文本弯曲程度的限制小,只要在游程图中取适当的阈值,使文本行间不被涂黑即可。
(6)计算矫正的目标位置,将曲线拟合到目标;
对每个区段,按采样点进行曲线拟合,为每个区段计算矫正的目标位置,缺省的Y方向位置可用但不限于用该区段中所有的采样点的平均值表示,此外,可以对缺省位置采用后来者避让已确定者的方法调整,取采样点的均值做为校正后的缺省目标位置,将每个区段对应的原图按拟合出的曲线校正到目标位置。
在步骤(6)中,当一个弯曲严重的,宽度较宽的段和一个较窄的段处理上下相临时,其缺省目标校正位置容易发生重叠。因此,在实际校正前,应参考缺省的目标位置,采用避让的方法计算出每段实际的校正位置。本实施例中,采用未处理的段避让已处理段的方法,具体方法为:
1)首先构建一张段的索引表Ti,表中记录表的索引值,其顺序按段实际校正时的目标位置,从小到大排序,某段的实际校正位置越靠上,该段的索引在索引表中的位置越靠前。该表初始时为空。
2)从步骤3中构建好的段列表T中的顺序逐个取出每段(如步骤3所述,T中段的顺序大体按从上到下,从左到右的顺序排列)。每个区段都根据自己的缺省目标校正位置,和自身的宽、高,在索引表Ti中查询该位置是否已被其它段占用,若已被占用,则进行避让,将目标位置下移,直到两段不冲突为止。若下移到与下面的段冲突或越出边界,仍然不能避免与上面的段冲突,则尝试向左右移动,若最终经过类似一系列的尝试仍不能避免冲突,则放置在缺省目标位置。确定好目标位置后,将该段的索引按其目标位置插入索引表Ti中。反复对所有的段如此处理,可确定所有段的目标位置。
根据每个区段选出来的采样点,可采用各种可行的曲线拟合,比如可采用(自适应)多项式拟合、贝塞尔曲线拟合、B样条拟合、椭圆曲线等。在采用多项式拟合时,若采用固定阶数的多项式拟合,则阶数不宜定得过高,否则易发生震荡现象,一般3阶就足够描述实际图像中严重弯曲的区域了。本实施例采用3阶多项式拟合。所得的曲线在图8、图9、图10中,用各区段中间位置附近的白线表示。
获得各区段的拟合曲线后,应计算每个区段的校正目标位置。本实施例中取各区段中采样点所在穿越线的中点平均Y值,做为其在Y方向的缺省目标位置。确定目标位置后,每个区段按如下的规则校正:设该区段中的任意一个需要被校正的点坐标为(x,y),相同x处的拟合曲线上点的坐标为(x,yf),校正的目标Y值为yd,则该点在校正后的坐标为(x,y+yf-yd)。求出此缺省位置后,还需要按前述的避让方法进行调整,图20是图19按此算法校正的结果。如果不进行这种调整,可能会出现相临的区段校正后距离过近甚至重叠的情况,如图21所示。
(7)在原图中,对背景区域进行填充。
图像上除了区段外的区域称为背景,校正只对区段中的所有像素点进行,如图18是图2校正后的图像。背景区域还需要根据原图进行填充。图18填充后可得到图11所示的完整效果。
以上具体实施方式是以横排文稿为例进行的表述。如果所处理的是竖排文稿时,可以将文稿旋转90度;或将所描述的水平方向与垂直方向互换,即X方向与Y方向互换即可。
通过观察校正后的图11、12、13、20可以看出:
1、对弯曲程度大,但版面中只包含文字的图(图2),校正效果很理想(如图11所示)。
2、对中包含有文字、表格、公式,带分栏的图(图3),文字的校正效果基本满意(如图12所示)。表格部分,右上角有部分区域文字与表格线重叠,这是由于对表格线这种相对复杂的拓扑结构,避让措施可能失效。左边有小段表格线断开,这是由于该小区段左边的区段包含了一段文字,导致在区段在区段合并时,未满足合并的条件。公式部分,右边大部分校正效果很好,左部由于区段合并不准确,未能校正。总体说来,该图像从原来基本进行无法进行OCR(原因为行切分失败)被校正为合适OCR,且其中的表格、公式等区域也有了很大的改善。
3、对图中包含图像、花边区域的图(图4),文字区域被较好的校正。图像和花边部分,如“具体实施方式”中(5)所述,该图像和花边被分别划分入某区段中,它们不参与采样点的采集,但它们的畸变趋势被所在区段中的文本部分反映出来,被与文本同步校正。因此虽然图像内部和花边在校正后可能会出现畸变加重的情况(如图13右侧的图像部分所示),但对OCR而言,非文本区域是不需要识别的,因此其内部的畸变不产生任何负面影响,重要的是通过这种位置的同步校正,图像和花边等非文本区域与文本区域的相对位置未发生改变,因此避免了对OCR的版面分析等操作产生副作用。
4、对文字行倾斜角度跨度大、有分栏版式、文字行长短差异大的图(图19),由其校正后的结果图(如图20所示)来看,效果很理想。
通过本实施例可以看到,本发明的文稿图像畸变校正技术可明显地提高图像的主观质量,特别是在OCR的运用中,文本区域的文字被较好的校正,能正常进行版面分析、切分、识别等后续处理。文本之外的其余区域被同步校正,不再对OCR产生负作用。