一种图片中文档定位和拆切方法与流程

文档序号:11729763阅读:635来源:国知局
一种图片中文档定位和拆切方法与流程

本发明涉及计算机软件技术领域,尤其涉及的是一种图片中文档定位和拆切方法。



背景技术:

在传统办公流程中,对文件或者文档的数字化通常是通过扫描仪来完成的。随着智能手机的普及以及手机摄像头质量的提升,越来越多的消费者开始用手机对文档或者文件拍照的方法来取得文档的数字复印件。然而由于拍摄角度和取景范围的限制,用户直接拍摄的文档图片往往具有以下两个问题:(1)文档往往只占据图片中心部分,文档的周围有大量无效的背景干扰,需要进行切除。(2)用户在拍摄时,很难保持手机平行于文档排放的桌面,导致文档在图像中有倾斜,需要进行校正。图1a就是这样的一个例子。

以上的两个问题可以通过图像的一个映射变换来解决。如图1a所示,如果我们通过自动或者手动的方法确定了图像中文档1的四个顶点11、顶点12、顶点13、顶点14的坐标位置,那么我们可以将这四个顶点映射到一个裁切图片的四个顶点。图像中文档上面的每一个像素就可以通过插值的方法也映射到这个裁切图片中,从而生成一张裁边并且扶正的文档图片,如图1b所示。在这个过程中,关键问题是如何确定图片中文档四个顶点的位置。

在市场现有的软件中,文档的四个顶点有些是要求用户手动指定的,这个过程需要用户交互,效率低,不适合于处理大量图片。也有一些软件通过图像处理的方法自动来定位文档的四个顶点,但是由于算法方面的局限性,经常出现误判,成功率较低。

因此,现有技术存在缺陷,需要改进。



技术实现要素:

本发明所要解决的技术问题是:提供一种能够处理较复杂文档类型,对文档顶点进行精确定位,并进行快速裁切和扶正的图片中文档定位和拆切方法。

本发明的技术方案如下:一种图片中文档定位和拆切方法,包括,s1:输入文档图像;s2:对输入文档图像进行直线段检测;并对检测到的直线段进行分类,其中,包括接近水平直线段、接近竖直直线段和其他方向直线段;s3:在接近水平直线段、接近竖直直线段中提取水平边界线段和竖直边界线段;s4:根据提取的水平边界线段和竖直边界线段,确定文档图像四个顶点位置;s5:根据四个顶点位置对文档图像进行裁切和扶正。

应用于上述技术方案,所述的图片中文档定位和拆切方法中,步骤s2中,在直线段检测时,是根据文档图像的边来分别检测直线段;并且,步骤s3中:接近水平直线段是相对文档图像的水平边的接近水平直线段,接近竖直直线段指是相对文档图像的竖直边的接近竖直直线段。

应用于各个上述技术方案,所述的图片中文档定位和拆切方法中,步骤s2中,具体包括:s21:首先计算文档图像中每条线段和图像水平方向的夹角;s22:设定文档图像的倾斜角度小于45度;在所有和文档图像水平方向夹角在45度以内的线段中,找到长度最长的一条,然后以该线段的角度作为文档的水平角度,记为ah;并将文档的竖直方向确定为av=ah+90;s23:对于每一条线段,计算其角度a和ah及av的差别;当|a-ah|<15,将该线段标注为接近水平直线段;当|a-av|<15,将该线段标注为接近竖直直线段;其他则为其他方向直线段。

应用于各个上述技术方案,所述的图片中文档定位和拆切方法中,步骤s3中,具体包括:s31:将所有水平方向的线段往图像的竖直方向投影;假设图像的高度为h,那么我们就设置一个长度为h的直方图;用h来表示;对于图像中一个像素(x,y),如果该像素在某一条水平线段之上,那么h(y)的值就增加一;s32:对于每一条线段,计算一个它在文档边缘的置信度;其中,假设一条线段长度为l,其中点的坐标为(xm,ym),那么其置信度包含以下三项:则总的置信度为w=w1*w2*w3,其中lt是一个长度阈值;s33:根据所有条线段的置信度,挑选置信度w3值最大,并且,总置信度w值最大的线段作为文档顶部线段;并且,挑选置信度w3值最小,并且,总置信度w值最大的线段作为文档底部线段;s34:根据步骤s31-s33的算法,分别计算并挑选得到文档左侧线段、以及挑选得到文档右侧线段。

应用于各个上述技术方案,所述的图片中文档定位和拆切方法中,步骤s4中,具体为,分别计算文档顶部线段与文档左侧线段和文档右侧线段、以及计算文档底部线段与文档左侧线段和文档右侧线段的延长相交的交点,得到文档图像的四个顶点位置。

采用上述方案,本发明通过先提取和检测文档的边界,然后通过边界直线相交的方法来检测顶点。所以和现有的方法相比,本算法能够处理比较复杂的文档类型,例如护照照片,同时在背景较为复杂的情况下也能比较精确的对顶点进行定位。本发明可以应用在文档照片处理的软件中。在用户用手机拍摄文档后,本算法可以将图像内的文档进行快速裁切和扶正,这样能够为后继的文档识别模块排除干扰,提高文档内文字的识别率。

附图说明

图1a为现有技术拍摄的示意图;

图1b为图1a扶正后的示意图;

图2为本发明的流程示意图;

图3a为本发明中提取边界直线步骤的示意图;

图3b为图3a扶正后的示意图。

具体实施方式

以下结合附图和具体实施例,对本发明进行详细说明。

本实施例提供了一种图片中文档定位和拆切方法,如图2所示,其方法步骤包括:

步骤1

输入图片的文档图像,我们首先将其大小缩放到一定尺寸,其中,缩放时,使其长边保持在1000像素,然后将图像从彩色图转换为灰度图,再提取灰度图像里面的直线线段。

提取直线线段的现有方法比较多,我们在系统中采用的lsd快速直线线段检测方法,这种方法的速度很快,而且检测直线的效果也比较稳定,如图3a所示,文档图像21内检测到的直线检测的结果包括文档水平边界线22和文档水平边界线23,文档竖直平边界线31和文档竖直平边界线32,以及文档内部表格41的多条水平线42和多条竖直线43,以及内部表格11的多条水平线52和多条竖直线53。

步骤2

在这个步骤中,我们将检测到的直线分为三类:接近水平直线段,接近竖直直线段,以及其他方向直线段。注意这里水平和竖直是针对文档图像的边而言,不是针对图像的边而言。也就是说,如果文档在图像中稍微倾斜的话,那么这里的水平和竖直方向也会相应倾斜。我们首先计算图像中每条线段和图像水平方向的夹角。我们假设文档在图像中会稍微倾斜,但是不会倾斜得很厉害,具体来说就是文档的倾斜角度小于45度。我们在所有和图像水平方向夹角在45度以内的线段中,到长度最长的一条,然后以该线段的角度作为文档的水平角度,记为ah。文档的竖直方向即可确定为av=ah+90。

对于每一条线段,我们计算其角度a和ah及av的差别。如果|a-ah|<15,我们就将该线段标注为接近水平直线段。如果,|a-av|<15,则将该线段标注为接近竖直直线段。否则的话,就将该线段标注为其他方向直线段,并且不再后继步骤中加以考虑,即去掉其他方向直线段。

步骤3

受文档内容以及背景的影响,提取的水平和竖直线段有一些在文档以内,有一些在文档以外,同时文档边缘的直线也在其中。在这个步骤中,我们将从水平和竖直线段中分别寻找文档边界的线段。

我们首先将所有水平方向的线段往图像的竖直方向投影。假设图像的高度为h,那么我们就设置一个长度为h的直方图,用h来表示。对于图像中一个像素(x,y),如果该像素在某一条水平线段之上,那么h(y)的值就增加一。

对于每一条线段,我们计算一个它在文档边缘的置信度。假设一条线段长度为l,其中点的坐标为(xm,ym),那么该置信度包含以下三项:

而总的置信度为w=w1*w2*w3。我们假设文档的顶部边缘虽然可能和图像顶部有一定距离,但是还是比较靠近图像顶部的,越靠近顶部,那么w3的值就越大,反之如果离顶部越远,那么w3的值就越小。w2是用来惩罚过短的线段,其中lt是一个长度阈值,其中,系统中设为100,如果线段长度超过这个阈值,那么w2就是一个常数,反之如果线段长度低于阈值,那么w2也会相应降低。w1的作用是鼓励文档顶端的线段尽量将所有的线段都包含在文档以内,因为一般来说文档内部的图像内容比较复杂,线条比较多,而外部相对而言线条应该比较少,特别是用户在一个比较干净的背景下拍摄的话。

对每一条线段计算置信度后,我们挑选置信度最高的线段作为文档顶部的线段;其中,具体是根据所有条线段的置信度,挑选置信度w3值最大,并且,总置信度w值最大的线段作为文档顶部线段;并且,挑选置信度w3值最小,并且,总置信度w值最大的线段作为文档底部线段。

如此,同理,根据以上的算法,

s34:根据步骤s31-s33的算法,分别计算并挑选得到文档左侧线段、以及挑选得到文档右侧线段。

同理,将所有竖直方向的线段往图像的水平方向投影,根据同样的算法公式,可以分别计算并挑选得到文档左侧线段、以及挑选得到文档右侧线段。

当文档上,下,左,右四条边分别确定后,文档的四个顶点就很好确定了。我们只需要计算相邻两条线段延长相交的交点即可。

如此,可以分别计算文档顶部线段与文档左侧线段和文档右侧线段、以及计算文档底部线段与文档左侧线段和文档右侧线段的延长相交的交点,得到文档图像的四个顶点位置,即顶点位置61、顶点位置62、顶点位置63和顶点位置64,可以将这四个顶点映射到一个裁切图片的四个顶点。图像中文档上面的每一个像素就可以通过插值的方法也映射到这个裁切图片中,从而生成一张裁边并且扶正的文档图片,如图3b所示。

本实施例通过图像中线段提取,线段分类以及边界提取三个步骤,自动确定文档图像中边界直线的位置,从而对四个顶点进行定位。本发明适合应用在需要自动对手机拍摄的文档图像进行优化的应用之中,也可以作为文档识别的预处理步骤加以使用。

本发明可以应用在文档照片处理的软件中。在用户用手机拍摄文档后,本算法可以将图像内的文档进行快速裁切和扶正,这样能够为后继的文档识别模块排除干扰,提高文档内文字的识别率。

以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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