本技术涉及计算机视觉,尤其涉及一种文档检测矫正方法及终端。
背景技术:
1、随着在线教育和在线办公的需求日益增加,用户经常需要对发票、书本、试卷、作业本进行扫描或拍照得到对应的文档图像,然后再对文档图像进行检测,现有的文档扫描或者检测方案中,都只能适配单页的场景,例如基于深度学习的图像边缘检测分割算法,将文档边缘视为要检测分割的对象,最终得到二值化文档边缘分割图像,这种方式无法对单页、双页类型进行区分,只能对平整类型的文档进行检测矫正;又例如,基于垂直线的条数以及用户给出单页或者双页的先验信息的方式,构造了一种基于传统算法的半自动单双页矫正方案,然后通过判断图像的宽度是否大于高度,以及在图像中间部分是否能找到足够长的中缝直线来区分单双页,这种方式在文档没有明显中线的情况下,无法区分单双页;因此,现有技术中对于弯折的发票、打开的书籍、试卷、作业本等文档类型,往往只能检测出其中一页,这样就造成了另一页文档信息的丢失,给用户体验带来严重影响。
技术实现思路
1、本技术实施例提供一种文档检测矫正方法及终端,用以实现对单页文档或多页文档等多种文档类型进行检测并矫正。
2、第一方面,本技术实施例提供一种文档检测矫正方法,该方法可以由终端执行,该方法包括:响应于针对第一应用的第一操作,显示扫描预览界面,扫描预览界面用于显示预览的第一图像,第一图像中包含第一文档;接收第二操作;响应于第二操作,采集获得第二图像,第二图像中包括第一文档;然后,将第二图像分别输入到训练完成的分类模型与分割模型中,得到分类模型输出的第一文档的分类结果以及分割模型输出的第一文档的边缘分割图;根据第一文档的分类结果以及边缘分割图,对第一文档进行矫正得到第一目标文档图像;显示第一用户界面,第一用户界面用于显示第一目标文档图像。
3、本技术实施例中,通过将采集到的第二图像输入分类模块,可以准确的检测出第二图像包含的第一文档的文档类型,例如为单页文档,又例如多页文档,通过将第二图像输入分割模块,可以对第一文档进行边缘检测得到边缘分割图,然后结合分类结果以及边缘分割图可以实现对多种不同的文档类型的文档图像进行矫正。
4、一种可能的设计中,该方法还包括:响应于第三操作,显示第二用户界面,第二用户界面显示有第二图像以及第一文档的角点,第一文档的角点用于矫正第一文档;接收对第一文档的角点中至少一个角点的第四操作;响应于第四操作,调整至少一个角点的位置。通过该设计,可以实现通用户操作对第一文档的角点的位置进行调整。
5、一种可能的设计中,在响应于第四操作,调整至少一个角点的位置之后,还可以响应于第五操作,根据第一文档的分类结果以及调整位置后的角点坐标,对第一文档进行矫正得到第二目标文档图像;显示第三用户界面,第三用户界面用于显示第二目标文档图像。通过该设计,基于对第一文档的分类结果以及调整位置后的角点坐标对第一文档进行矫正,可以提高矫正的准确性。
6、一种可能的设计中,在响应于第二操作,采集获得第二图像之后,该方法还包括:显示第四用户界面,第四用户界面用于显示第二图像以及第一文档的角点。通过该设计,在获得第二图像之后,可以在第四显示界面上展示获得的第二图像以及第一文档的角点,便于用户对第一文档的角点进行调整。
7、一种可能的设计中,该方法还包括:接收对第一文档的角点中至少一个角点的第六操作;响应于第六操作,调整至少一个角点的位置;响应于第七操作,根据第一文档的分类结果以及调整位置后的角点坐标,对第一文档进行矫正得到第三目标文档图像;显示第五用户界面,第五用户界面用于显示第三目标文档图像。通过该设计,基于对第一文档的分类结果以及调整位置后的角点坐标对第一文档进行矫正,可以提高矫正的准确性。
8、一种可能的设计中,第一文档的分类结果包括至少一种文档类型以及每种文档类型的概率;至少一种文档类型包括以下至少一种类型:
9、(1)页面平整的单页文档类型;
10、(2)页面弯曲的单页文档类型;
11、(3)左侧页面与右侧页面均平整的双页文档类型;
12、(4)左侧页面平整右侧页面弯曲的双页文档类型;
13、(5)左侧页面弯曲右侧页面平整的双页文档类型;
14、(6)左侧页面弯曲右侧页面弯曲的双页文档类型。
15、通过该设计,根据分类结果可以确定第一文档的类型,有助于后续选择合适的矫正算法进行矫正,获的更好的矫正效果。
16、一种可能的设计中,根据第一文档的分类结果以及边缘分割图,对第一文档进行矫正得到第一目标文档图像,包括:根据第一文档的分类结果以及边缘分割图,确定第一文档的类型;根据第一文档的类型,确定第一文档对应的文档矫正算法;将第二图像输入至第一文档对应的文档矫正算法,得到第一目标文档图像。
17、一种可能的设计中,将第二图像输入至第一文档对应的文档矫正算法,得到第一目标文档图像,可以通过以下方式一至方式六中的任一种方式实现:
18、方式一,若第一文档的类型为页面平整的单页文档类型,则将第二图像输入至普通文档矫正算法进行矫正得到第一目标文档图像;例如在采集页面平整的单页文档的图像时,拍摄视角并不是垂直于第一文档所在页面,导致采集到的第二图像所包含的第一文档虽然页面平整但是页面中的内容是倾斜的,通过方式一可以实现对第一文档进行矫正,使得矫正后得到的第一目标文档图像的观看效果相当于拍摄视角垂直于边缘平整的单页文档所在平面而拍摄得到的效果,这样可以提升用户对目标文档图像的观感。
19、方式二,若第一文档的类型为页面弯曲的单页文档类型,则将第二图像输入至第一文档矫正算法进行矫正得到单页文档图像,将单页文档图像输入至去扭曲矫正算法进行矫正,得到第一目标文档图像;例如采集到的第二图像中第一文档是单页文档,第一文档的边缘弯曲、文字不在一条直线,通过方式二对第一文档进行矫正,可以使得矫正后得到的第一目标文档图像中文档边缘为直线,而且文字在一条直线,这样可以提升用户对目标文档图像的观感。
20、方式三,若第一文档的类型为左侧页面与右侧页面均平整的双页文档类型,则将第二图像中第一文档的左侧页面输入至普通文档矫正算法进行矫正得到第一页面图像,将第一文档的右侧页面输入至普通文档矫正算法进行矫正得到第二页面图像,将第一页面图像与第二页面图像合并得到第一目标文档图像;例如在采集页面平整的双页文档的图像时,拍摄视角并不是垂直于第一文档所在页面,导致采集到的第二图像所包含的第一文档虽然页面平整但是页面中的内容是倾斜的,通过方式三可以实现对第一文档进行矫正,使得矫正后得到的第一目标文档图像的观看效果相当于拍摄视角垂直于边缘平整的双页文档所在平面而拍摄得到的效果,这样可以提升用户对目标文档图像的观感。
21、方式四,若第一文档的类型为左侧页面平整右侧页面弯曲的双页文档类型,则将第二图像中第一文档的左侧页面输入至普通文档矫正算法进行矫正得到第三页面图像,将第一文档的右侧页面输入至普通文档矫正算法进行矫正得到第四页面图像,并将第四页面图像输入至去扭曲矫正算法进行矫正得到第五页面图像,将第三页面图像与第五页面图像合并得到第一目标文档图像;通过该方式四,在采集到的第二图像包含左侧页面平整右侧页面弯曲的双页文档时,对双页文档中的左侧页面和右侧页面分别进行矫正,然后在对左侧页面对应的矫正后的页面图像和右侧页面对应的矫正后的页面图像进行合并,可以提升用户对双页文档的观感。
22、方式五,若第一文档的类型为左侧页面弯曲右侧页面平整的双页文档类型,则将第二图像中第一文档的左侧页面输入至普通文档矫正算法进行矫正得到第六页面图像,将第六页面图像输入至去扭曲矫正算法进行矫正得到第七页面图像,将第一文档的右侧页面输入至普通文档矫正算法进行矫正得到第八页面图像,将第六页面图像与第八页面图像合并得到第一目标文档图像;通过该方式五,在采集到的第二图像包含左侧页面弯曲右侧页面平整的双页文档时,对双页文档中的左侧页面和右侧页面分别进行矫正,然后在对左侧页面对应的矫正后的页面图像和右侧页面对应的矫正后的页面图像进行合并,可以提升用户对双页文档的观感。
23、方式六,若第一文档的类型为左侧页面弯曲右侧页面弯曲的双页文档类型,则将第二图像中第一文档的左侧页面输入至普通文档矫正算法得到第九页面图像,将第九页面图像输入至去扭曲矫正算法进行矫正得到第十页面图像,将第一文档的右侧页面输入至普通文档矫正算法得到第十一页面图像,将第十一页面图像输入至去扭曲矫正算法进行矫正得到第十二页面图像,将第十页面图像与第十二页面图像合并得到第一目标文档图像。通过该方式六,在采集到的第二图像包含左侧页面弯曲右侧页面弯曲的双页文档时,对双页文档中的左侧页面和右侧页面分别进行矫正,然后在对左侧页面对应的矫正后的页面图像和右侧页面对应的矫正后的页面图像进行合并,可以提升用户对双页文档的观感。
24、第二方面,本技术实施例还提供一种装置,该装置包括执行上述第一方面以及第一方面的任意一种可能的设计的方法的模块/单元。这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
25、第三方面,本技术实施例提供一种终端,包括处理器和存储器。其中,存储器用于存储一个或多个计算机程序;当存储器存储的一个或多个计算机程序被处理器执行时,使得该电子设备能够实现上述第一方面以及第一方面的任意一种可能的设计的方法。
26、第四方面,本技术实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在终端上运行时,使得所述终端执行上述第一方面以及第一方面的任意一种可能的设计的方法。
27、第五方面,本技术实施例还提供一种包含计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述终端执行上述第一方面以及第一方面的任意一种可能的设计的方法。
28、本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。