一种扫描文档矫正方法、系统、装置和存储介质

未命名 07-22 阅读:94 评论:0


1.本发明涉及文档图像处理技术领域,尤其涉及一种扫描文档矫正方法、系统、装置和存储介质。


背景技术:

2.利用平面扫描仪进行扫描是一种常用的纸质文档数字化方法,相比于移动摄像头拍照,平面扫描仪获得的数字化文档往往具有较高的质量,能最大程度消除阴影、纸张形变等的干扰。尽管如此,这种方式获得的文档图像仍然会遇到倾斜以及背景干扰的问题,这为后续的文档自动化处理程序带来不利影响。实际应用场景下,文档内容往往复杂多样:有的同时包含文本、图像,有的仅包含文本或仅包含图像;有横向文本,也有可能有竖向的文本。文档边界情况复杂:可能存在文档角点缺失(角点处存在折叠,角点在扫描仪成像范围外),边界缺失或不全(文档边界部分在成像范围外导致不全,文档边界完全在成像范围外导致缺失)。这使得该类问题的解决十分具有挑战性。目前仍然缺少针对该类问题的解决方案。


技术实现要素:

3.为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种扫描文档矫正方法、系统、装置和存储介质。
4.本发明所采用的技术方案是:
5.一种扫描文档矫正方法,包括以下步骤:
6.获取文档图像,对所述文档图像进行分割处理,获得分割掩膜图;
7.对所述分割掩膜图进行边界线段检测,获得多条边界线段;
8.对所述边界线段进行识别,以获得所述边界线段的类型;
9.根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段;
10.根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像。
11.进一步地,所述对所述分割掩膜图进行边界线段检测,获得多条边界线段,包括:
12.采用lsd算法对所述分割掩模图中文档边界处的线段进行进行检测,获得多条边界线段;
13.其中,检测到的线段不包括文档与成像边界相交线上的线段;检测结果包括:所有边界都具有线段、有一个边界没有线段或者有两个边界没有线段。
14.进一步地,所述对所述边界线段进行识别,以获得所述边界线段的类型,包括:
15.根据边界线段的倾角将边界线段分成横向线段和纵向线段;
16.将纵向线段的中点坐标值与分割掩膜图的中点坐标值进行比较,根据比较结果将纵向线段判定为左边界线段和右边界线段;
17.将横向线段的中点坐标值与分割掩膜图的中点坐标值进行比较,根据比较结果将横向线段判定为上边界线段和下边界线段。
18.进一步地,所述根据识别后的所述边界线段,为文档的四个边界分别选取一条特
征线段,包括:
19.对于同一类型的边界线段,根据该类型的所有边界线段计算线段的平均长度,根据平均长度对该类型的边界线段进行剔除;
20.分别获取两个不同类型的边界线段,计算两个类型的边界线段之间的夹角,根据夹角获取对应的边界线段作为特征线段。
21.进一步地,若存有边界没有征线段,所述扫描文档矫正方法还包括补充特征线段的步骤,该补充特征线段的步骤包括:
22.记边界a为没有特征线段的边界,若边界a相对的边界c有特征线段:将边界c上的特征线段平移到与文档前景区域相切处,平移后的线段作为边界a的特征线段;
23.若a相对的边界c没有特征线段,记边界a的任一相邻边界为b,做边界b特征线段的垂线并平移到与文档前景区域相切处,得到两条直线,根据边界a的位置确定其中一条直线为边界a的特征直线。
24.进一步地,所述根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像,包括:
25.将四条特征线段所在直线相交得到的四个角点对应到一个矩形上:
26.根据映射关系求解得到仿射变化矩阵,利用仿射变化矩阵对文档图像进行仿射变换,得到矫正并去除扫描背景后的文档图像。
27.进一步地,所述仿射变化矩阵通过以下方法获得:
28.任意选取4个角点中的3个,记其坐标为:(a1,b1),(a2,b2),(a3,b3),记角点对应的矩形上的点坐标为:(a
′1,b
′1),(a
′2,b
′2),(a
′3,b
′3);
29.仿射变化矩阵为:
[0030][0031]
设则仿射变化矩阵t通过优化以下函数求解获得:
[0032]
min||ta-b||2。
[0033][0034]
本发明所采用的另一技术方案是:
[0035]
一种扫描文档矫正系统,包括:
[0036]
图像分割模块,用于获取文档图像,对所述文档图像进行分割处理,获得分割掩膜图;
[0037]
线段检测模块,用于对所述分割掩膜图进行边界线段检测,获得多条边界线段;
[0038]
线段识别模块,用于对所述边界线段进行识别,以获得所述边界线段的类型;
[0039]
线段选择模块,用于根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段;
[0040]
特征映射模块,用于根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像。
[0041]
本发明所采用的另一技术方案是:
[0042]
一种扫描文档矫正装置,包括:
[0043]
至少一个处理器;
[0044]
至少一个存储器,用于存储至少一个程序;
[0045]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
[0046]
本发明所采用的另一技术方案是:
[0047]
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
[0048]
本发明的有益效果是:本发明通过对线段进行处理,可以处理多种边界、角点缺失的情况,也可以处理角点处含有折叠的文档,具有较好的适用性;另外,本发明仅利用仿射变换进行矫正,不会引入额外的形变。
附图说明
[0049]
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
[0050]
图1是本发明实施例中一种扫描文档矫正方法的步骤流程图;
[0051]
图2是本发明实施例中部分扫描文档样例及各步骤输出结果的可视化图。
具体实施方式
[0052]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0053]
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0054]
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0055]
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0056]
如图1所示,本实施例提供一种扫描文档矫正方法,包括以下步骤:
[0057]
步骤s1:前景分割。将文档所占的前景区域从扫描背景中分割出来,获得分割掩膜图。
[0058]
作为一种可选的实施方式,前景分割采用基于阈值的方法:扫描背景通常是深色,而文档前景通常为浅色,因此,本实施例通过预定义阈值将文档前景分离出来。但由于深色文档内容的影响,仅通过阈值的方式会导致文档内容区域也被分类为扫描背景,因此阈值分割之后再采用形态学的闭运算消除文档内容的影响,最终得到完整的文档前景分割掩模图。
[0059]
步骤s2:边界线段检测。
[0060]
在所述步骤s1获得的分割掩模图上将文档边界处的线段检测出来,所述线段不包括文档与成像边界相交线上的线段。
[0061]
作为一种可选的实施方式,在步骤s1的基础上进行利用lsd算法进行线段检测,检测得到n条线段[l1,l2,...,ln](n≥2),ln=[x
1n
,y
1n
,x
2n
,y
2n
,widthn,anglen,lengthn]。(x
1n
,y
1n
),(x
2n
,y
2n
),widthn,anglen,lengthn分别代表lsd算法返回每条线段的端点1坐标,端点2坐标,线段置信度,线段倾角,线段长度。
[0062]
步骤s3:边界线段分类。
[0063]
先根据线段倾角将线段分成横向线段和纵向线段:倾角在[-45
°
+k180
°
,45
°
+k180
°
],k∈z之间的线段分类为横向线段,在该范围之外的分类为纵向线段。再根据线段中点坐标值与图像中点坐标值的比较将纵向线段分类为左边界线段和右边界线段,将横向线段分类为上边界线段和下边界线段:纵向线段中,线段中点横坐标在图像中点横坐标左侧的分类为左边界线段,右侧的分类为右边界线段;横向线段中,线段中点纵坐标在图像中点纵坐标上测的分类为上边界线段,下侧的分类为下边界线段。分类的结果可能为:所有边界都具有线段、有一个边界没有线段、有两个边界没有线段。不考虑有三个边界没有线段、所有边界都没有线段的情况。
[0064]
具体地,先根据倾角anglen将所有线段分为纵向线段和横向线段,[-45
°
+k180
°
,45
°
+k180
°
],k∈z之间的线段分类为横向线段,否则为纵向线段。再根据线段中点坐标与图像中点坐标比较,其中w,h分别为图像的宽和高。对于横向线段,若则分类为下边界线段,否则为上边界线段;对于纵向线段,若则分类为右边界线段,否则为左边界线段。最终可以得到4个边界各自的线段:上边界:[l
1上
,l
2上
,...,l
n上
],下边界:[l
1下
,l
2下
,...,l
n下
],左边界:[l
1左
,l
2左
,...,l
n左
],右边界:[l
1右
,l
2右
,...,l
n右
]。n

,n

,n

,n

≥0。
[0065]
步骤s4:边界特征线段提取。
[0066]
步骤s4为文档的四个边界分别选取1条特征线段,用以表征对应的边界,其余线段去除。
[0067]
作为一种可选的实施方式,步骤s4具体包括步骤步骤s41-s42:
[0068]
s41、分别计算存在线段的各边界所包含线段的平均长度,将各边界中长度小于所在边界平均长度的线段剔除。
[0069]
计算所有线段的平均长度(以上边界为例):
[0082]
基于求解的t,即可对扫描文档图像进行仿射变化从而得到矫正后的图像。
[0083]
由上可知,本发明的方法可以处理多种边界、角点缺失的情况,包括:成像范围内文档4个角点都存在、成像范围内文档仅存在3个角点,成像范围内文档仅存在2个角点,成像范围内文档仅存在1个角点,成像范围内文档不存在角点。也能处理角点处含有折叠的文档。本发明针对扫描文档的仅含有旋转、缩放和平移问题,仅利用仿射变换进行矫正,不会引入额外的形变。
[0084]
本实施例还提供一种扫描文档矫正系统,包括:
[0085]
图像分割模块,用于获取文档图像,对所述文档图像进行分割处理,获得分割掩膜图;
[0086]
线段检测模块,用于对所述分割掩膜图进行边界线段检测,获得多条边界线段;
[0087]
线段识别模块,用于对所述边界线段进行识别,以获得所述边界线段的类型;
[0088]
线段选择模块,用于根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段;
[0089]
特征映射模块,用于根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像。
[0090]
本实施例的一种扫描文档矫正系统,可执行本发明方法实施例所提供的一种扫描文档矫正方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0091]
本实施例还提供一种扫描文档矫正装置,包括:
[0092]
至少一个处理器;
[0093]
至少一个存储器,用于存储至少一个程序;
[0094]
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
[0095]
本实施例的一种扫描文档矫正装置,可执行本发明方法实施例所提供的一种扫描文档矫正方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0096]
本技术实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
[0097]
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种扫描文档矫正方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
[0098]
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
[0099]
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
[0100]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0101]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
[0102]
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0103]
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0104]
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或
者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
[0105]
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
[0106]
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。

技术特征:
1.一种扫描文档矫正方法,其特征在于,包括以下步骤:获取文档图像,对所述文档图像进行分割处理,获得分割掩膜图;对所述分割掩膜图进行边界线段检测,获得多条边界线段;对所述边界线段进行识别,以获得所述边界线段的类型;根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段;根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像。2.根据权利要求1所述的一种扫描文档矫正方法,其特征在于,所述对所述分割掩膜图进行边界线段检测,获得多条边界线段,包括:采用lsd算法对所述分割掩模图中文档边界处的线段进行进行检测,获得多条边界线段;其中,检测到的线段不包括文档与成像边界相交线上的线段;检测结果包括:所有边界都具有线段、有一个边界没有线段或者有两个边界没有线段。3.根据权利要求1所述的一种扫描文档矫正方法,其特征在于,所述对所述边界线段进行识别,以获得所述边界线段的类型,包括:根据边界线段的倾角将边界线段分成横向线段和纵向线段;将纵向线段的中点坐标值与分割掩膜图的中点坐标值进行比较,根据比较结果将纵向线段判定为左边界线段和右边界线段;将横向线段的中点坐标值与分割掩膜图的中点坐标值进行比较,根据比较结果将横向线段判定为上边界线段和下边界线段。4.根据权利要求3所述的一种扫描文档矫正方法,其特征在于,所述根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段,包括:对于同一类型的边界线段,根据该类型的所有边界线段计算线段的平均长度,根据平均长度对该类型的边界线段进行剔除;分别获取两个不同类型的边界线段,计算两个类型的边界线段之间的夹角,根据夹角获取对应的边界线段作为特征线段。5.根据权利要求4所述的一种扫描文档矫正方法,其特征在于,若存有边界没有征线段,所述扫描文档矫正方法还包括补充特征线段的步骤,该补充特征线段的步骤包括:记边界a为没有特征线段的边界,若边界a相对的边界c有特征线段:将边界c上的特征线段平移到与文档前景区域相切处,平移后的线段作为边界a的特征线段;若a相对的边界c没有特征线段,记边界a的任一相邻边界为b,做边界b特征线段的垂线并平移到与文档前景区域相切处,得到两条直线,根据边界a的位置确定其中一条直线为边界a的特征直线。6.根据权利要求1所述的一种扫描文档矫正方法,其特征在于,所述根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像,包括:将四条特征线段所在直线相交得到的四个角点对应到一个矩形上:根据映射关系求解得到仿射变化矩阵,利用仿射变化矩阵对文档图像进行仿射变换,得到矫正并去除扫描背景后的文档图像。7.根据权利要求6所述的一种扫描文档矫正方法,其特征在于,所述仿射变化矩阵通过以下方法获得:
任意选取4个角点中的3个,记其坐标为:(a1,b1),(a2,b2),(a3,b3),记角点对应的矩形上的点坐标为:(a
′1,b
′1),(a
′2,b
′2),(a
′3,b
′3);仿射变化矩阵为:设则仿射变化矩阵t通过优化以下函数求解获得:min||ta-b||2。8.一种扫描文档矫正系统,其特征在于,包括:图像分割模块,用于获取文档图像,对所述文档图像进行分割处理,获得分割掩膜图;线段检测模块,用于对所述分割掩膜图进行边界线段检测,获得多条边界线段;线段识别模块,用于对所述边界线段进行识别,以获得所述边界线段的类型;线段选择模块,用于根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段;特征映射模块,用于根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像。9.一种扫描文档矫正装置,其特征在于,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现权利要求1-7任一项所述方法。10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-7任一项所述方法。

技术总结
本发明公开了一种扫描文档矫正方法、系统、装置和存储介质,其中方法包括:获取文档图像,对所述文档图像进行分割处理,获得分割掩膜图;对所述分割掩膜图进行边界线段检测,获得多条边界线段;对所述边界线段进行识别,以获得所述边界线段的类型;根据识别后的所述边界线段,为文档的四个边界分别选取一条特征线段;根据所述特征线段进行仿射变换矫正,获得矫正后的文档图像。本发明通过对线段进行处理,可以处理多种边界、角点缺失的情况,也可以处理角点处含有折叠的文档,具有较好的适用性;另外,本发明仅利用仿射变换进行矫正,不会引入额外的形变。本发明可广泛应用于文档图像处理技术领域。处理技术领域。处理技术领域。


技术研发人员:金连文 张家鑫 张沛荣 陈邦栋
受保护的技术使用者:华南理工大学
技术研发日:2023.03.13
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐