表格版面分析与提取方法及相关装置与流程

文档序号:19473989发布日期:2019-12-21 02:36阅读:230来源:国知局
表格版面分析与提取方法及相关装置与流程

本申请涉及计算机技术领域,具体涉及一种表格版面分析与提取方法及相关装置。



背景技术:

近年来,随着信息技术的发展,在金融、司法、社保、教育、医疗等行业的信息化系统中,经常需要对现有的纸质文档资料进行扫描和信息结构化识别,而且需要对其中的表格进行自动识别和版面分析提取,否则无法对表格中的文字识别结果进行后续的结构化处理和版面再加工处理。其中,现有方法主要是通过dscc算法检测到单连通链,进而对表格进行版面分析。但是这种方法在单元格小而文字大时会导致单元格被误切,以及在检测出表格线后采用交点连接的方式来确定单元格位置,这种方式不仅耗时,而且过分依赖于交点,容易导致单元格被误检,存在信息提取成本高、效率低的问题,而且需为不同结构的网页配置不同提取模板,也存在适用范围较小的问题。



技术实现要素:

本申请实施例提供了一种表格版面分析与提取方法及相关装置,以期提高设备进行表格版面分析与提取的效率和准确率。

第一方面,本申请实施例提供一种表格版面分析与提取方法,包括:

获取包含表格版面的图片;

确定所述图片中符合表格线约束条件的多个单连通链集合,所述多个单连通链集合中每个单连通链集合包括至少一条单连通链,所述单连通链对应于所述图片中的横向或竖向的短线段,所述表格线约束条件是指单连通链的方向相同且处于同一直线;

根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;

根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面。

第二方面,本申请实施例提供一种表格版面分析与提取装置,包括处理单元和通信单元,其中,

所述处理单元,用于通过所述通信单元获取包含表格版面的图片;以及确定所述图片中符合表格线约束条件的多个单连通链集合,所述多个单连通链集合中每个单连通链集合包括至少一条单连通链,所述单连通链对应于所述图片中的横向或竖向的短线段,所述表格线约束条件是指单连通链的方向相同且处于同一直线;以及根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;以及根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面。

第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。

第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。

第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

可以看出,本申请实施例中,在获取包含表格版面的图片后,可以确定所述图片中符合表格线约束条件的多个单连通链集合,然后根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;最后根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面,可见,本申请通过确定所述图片中符合表格线约束条件的多个单连通链集合生成的参考表格线,进而得到表格版面,降低了对表格检测的复杂度,提高了提取表格版面的效率和准确率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种电子设备的示意图;

图2是本申请实施例提供的一种表格版面分析与提取方法的流程示意图;

图3a(1)是本申请实施例提供的一种提取横向单连通链的示意图;

图3a(2)是本申请实施例提供的一种提取竖向单连通链的示意图;

图3b是本申请实施例提供的一种筛选单连通链的示意图;

图3c是本申请实施例提供的一种直线单连通链提取的示意图;

图3d是本申请实施例提供的一种根据参考网格线提取单连通链的示意图;

图4是本申请实施例提供的一种单连通链连接的示意图;

图5a是本申请实施例提供的一种因文字过大导致表格线误判的示意图;

图5b是本申请实施例提供的一种因方形印章导致表格线误判的示意图;

图5c是本申请实施例提供的另一种因方形印章导致表格线误判的示意图;

图6是本申请实施例提供的一种电子设备的结构示意图;

图7是本申请实施例提供的一种表格版面分析与提取装置的功能单元组成框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,图1为一个电子设备100的示意图,该电子设备100包括图片获取装置110和表格提取装置120,其中,所述图片获取装置110获取包含表格版面的图片,所述表格提取装置120用于提取单连通链并进行处理得到表格版面。本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(userequipment,ue),移动台(mobilestation,ms),终端设备(terminaldevice)等等。

目前,提取表格版面主要是通过dscc(directionalsingle-connectedchain,有向单连通链)检测到单连通链后,然后通过长度筛选出可能是表格线的单连通链,然后再对单连通链连接还原表格线,最后通过表格线的交点位置确定单元格位置,从而对表格进行版面分析。但是这种方法在检测出的直线较多时非常耗时,且容易导致单元格被误检。

基于此,本申请实施例提出一种表格版面分析与提取方法以解决上述问题,下面对本申请实施例进行详细介绍。

请参阅图2,图2是本申请实施例提供了一种表格版面分析与提取方法的流程示意图,应用于如图1所示的电子设备,如图所示,本表格版面分析与提取方法包括:

s201,获取包含表格版面的图片;

其中,所述表格版面的图片可以是用户给定的包含表格的任意图片,该图片可以是通过拍摄、扫描或其它任意方式获得的图片。

s202,确定所述图片中符合表格线约束条件的多个单连通链集合,所述多个单连通链集合中每个单连通链集合包括至少一条单连通链,所述单连通链对应于所述图片中的横向或竖向的短线段,所述表格线约束条件是指单连通链的方向相同且处于同一直线;

其中,所述单连通链有横向和竖向之分,对应于所述图片中文字、印章或表格线等的横向短线段或竖向短线段。例如,所述横向单连通链可以是由横向宽度为1个像素的图像游程构成,且除了首尾两端的两个游程之外,每个图像游程的两侧有且仅有一个游程与其连通。所述多个单连通链集合中的每个单连通链集合包括每条表格线对应的一条或多条单连通链。

具体实现中,提取所述图片中的所有单连通链,从所述所有单连通链中筛选出属于同一条表格线的至少一条单连通链,并将所述至少一条单连通链进行从左到右或从上到下进行排序。

s203,根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;

其中,所述每个单连通链集合包括属于同一条表格线的一条或多条单连通链。

具体实现中,将所述每个单连通链集合中排列好的多条单连通链从左到右或从上到下进行连接,得到参考表格线。

s204,根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面。

其中,所述参考表格线为每个单连通链集合中每条单连通链进行连接得到的直线。根据所述多个参考表格线连接组合起来得到参考表格,对所述参考表格进行非法表格过滤,得到所述图片的所述表格版面。

可以看出,本申请实施例中,在获取包含表格版面的图片后,可以确定所述图片中符合表格线约束条件的多个单连通链集合,然后根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;最后根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面,可见,本申请通过确定所述图片中符合表格线约束条件的多个单连通链集合生成的参考表格线,进而得到表格版面,降低了对表格检测的复杂度,提高了提取表格版面的效率和准确率。

在一个可能的示例中,所述确定所述图片中符合表格线约束条件的多个单连通链集合,包括:检测并提取所述图片中所有单连通链;筛选所述所有单连通链中符合预设条件的多个单连通链;对所述多个单连通链按照表格线约束条件划分为多个单连通链集合,所述表格线约束条件是指方向相同且处于同一直线。

其中,所述检测并提取所述图片中所有单连通链,可以通过dscc算法对所有横向单连通链和竖向单连通链进行提取,在一定约束条件下合并所述有向单连通链,可以快速准确提取直线。提取所述所有单连通链后,根据预设条件筛选符合要求的多个单连通链,将筛选出来的多个单连通链进行横向和竖向的依次排序,确定出属于同一条表格线的单连通链集合。

具体实现中,如图3a(1)所示,根据图片提取所有的横向单连通链,以及如图3a(2)所示,根据图片提取所有的竖向单连通链,然后对提取的所述横向单连通链和竖向单连通链进行筛选,剔除长度过短、非直线等的单连通链,然后将属于同一条表格线的单连通链划分为一个单连通链集合。

可见,能够通过对提取的所有单连通链进行筛选和排序,得到符合表格线约束条件的多个单连通链集合,提高了表格线的单连通链的检测效率和准确度,加快了表格版面提取的速度。

在一个可能的示例中,所述筛选所述所有单连通链中符合预设条件的多个单连通链,包括:获取所述表格版面在所述图片中的自适应长度阈值;将所述所有单连通链中每个单连通链与所述自适应长度阈值进行比较,剔除长度小于所述自适应长度阈值的单连通链,得到符合所述自适应长度阈值的单连通链;剔除符合所述自适应长度阈值的单连通链中非直线的单连通链,得到符合直线要求的单连通链;计算所述符合直线要求的单连通链的倾斜角,并将最大角度标记为整个表格的主方向;剔除所述倾斜角与所述主方向差值超过预设角度阈值的单连通链;根据所述主方向对符合预设角度阈值的单连通链进行倾斜矫正,得到符合预设条件的多个单连通链。

其中,可以otsu大津法来获取所述表格版面在所述图片中的自适应长度阈值,根据该自适应长度阈值将长度过小的单连通链剔除,所述阈值可以是通过先验知识获得的。其中,图片包括图像前景(即表格)和背景,属于前景的像素点数占整幅图像的比例记为p,背景像素点数占整幅图像的比例为q,根据前景占比确定所述单连通链的长度阈值。例如,图像大小为长l*宽w,前景占比为50%时,横向长度阈值为大于l*50%*15%,竖向长度阈值为w*50%*20%,将小于该长度阈值的单连通链剔除。然后可以采用直线拟合方法,通过判断方差大小的方式来剔除非直线的单连通链,最后计算每个单连通链的倾斜角度,以最大的倾斜角度作为提取的表格版面的主方向,并将倾斜角度与主方向相差超过设定阈值的单连通链剔除,其中所述设定阈值可以是通过先验知识获得的,最后以表格的主方向角度针对所述图片作倾斜矫正。

具体实现中,扫描图像的尺寸大小不同,并且表格大小也各不相同,通过otsu大津法获得自适应阈值,如图3b所示,图3b是本申请实施例提供的一种筛选单连通链的示意图,根据该自适应阈值剔除长度过小的单连通链,如图3c所示,图3c是本申请实施例提供的一种直线单连通链提取的示意图,采用直线拟合方法,通过判断方差大小的方式来剔除非直线的单连通链,例如,针对一条单连通链,确定该单连通链的每个像素点坐标,根据每个像素点坐标确定一条直线,使得该直线尽可能多的穿过单连通链的像素点坐标,使单连通链的像素点坐标与该直线的方差最小,判断方差大于预设方差阈值时,则确定单连通链为非直线并剔除。计算剔除后的单连通链的倾斜角度,剔除非表格线方向单连通链,例如斜直线等,并对所述图片作倾斜矫正。

可见,能够基于所述单连通链的自适应长度阈值、倾斜角度等筛选符合预设条件的单连通链集合,实现了有效剔除长度过短、非直线和斜向单连通链,提高表格版面提取的准确度和效率。

在一个可能的示例中,所述对所述多个单连通链按照表格线约束条件划分为多个单连通链集合,包括:获取所述多个单连通链中任意两条横向单连通链的竖向差值;当所述竖向差值小于第一预设阈值时,确定所述任意两条横向单连通链为同一条横向表格线;将处于同一条横向表格线上的所有横向单连通链进行从左到右的排序处理;或,获取所述多个单连通链中任意两条竖向单连通链的横向差值;当所述横向差值小于第二预设阈值时,确定所述任意两条竖向单连通链为同一条竖向表格线;将处于同一条竖向表格线上的所有竖向单连通链进行从上到下的排序处理;根据排序后的多个单连通链确定多个单连通链集合,其中,每个单连通链集合对应一条表格线的多个单连通链。

其中,每条表格线对应一个单连通链集合,多条表格线对应多个单连通链集合。获取任意两条横向单连通链的竖向差值,当所述竖向差值小于预设阈值时,确定该两条单连通链属于同一条横向表格线。获取任意两条横向单连通链的横向差值,当所述横向差值小于预设阈值时,确定该两条竖向单连通链属于同一条表格线。将属于同一条横向表格线的单连通链从左到右进行排序,属于同一条竖向表格线的单连通链从上到下进行排序。

可见,能够基于对任意两条同向单连通链之间的差值进行计算,确定两条单连通链是否属于同一条表格线,对属于同一条表格线的单连通链进行排序,得到符合表格约束条件的多个单连通链集合,提高了提取表格线和表格版面的准确性。

在一个可能的示例中,所述确定所述图片中符合表格线约束条件的多个单连通链集合,包括:提取所述图片中所有单连通链;针对所述所有单连通链中每个单连通链确定网格线参考点;以所述网格线参考点为基准点,确定所述每个单连通链在所述图片中的纵向参考网格线和横向参考网格线;确定所述所有单连通链中多个完全处于同一参考网格线的单连通链集合。

其中,可以确定所述多个单连通链中每个单连通链上任意一点为网格线参考点,以所述网格线参考点为基准点作纵向参考网格线和横向参考网格线,将处于同一条横向参考网格线的所有横向单连通链作为一个单连通链集合,将处于同一条纵向参考网格线的所有竖向单连通链作为一个单连通链集合,得到多条参考网格线对应的多个单连通链集合。

可见,能够基于每条单连通链生成参考网格线,根据参考网格线和单连通链确定多个处于同一条参考网格线的单连通链集合,提高了提取表格版面的效率。

在一个可能的示例中,所述确定所述所有单连通链中多个完全处于同一条参考网格线的单连通链集合,包括:确定所述所有单连通链中的多条直线单连通链;根据所述多条直线单连通链中每条直线单连通链的参考表格线确定处于同一参考网格线的至少一条单连通链;对所述至少一条单连通链进行排序处理,得到所述多个单连通链集合。

其中,所述参考网格线为针对每条单连通链作出的确定多个单连通链集合的辅助工具线。根据提取的单连通链确定出每条单连通链的纵向参考网格线和横向参考网格线,检测到横向单连通链的横向参考网格线重合时,确定横向参考网格线重合的至少一条单连通链处于同一条横向表格线;检测到竖向单连通链的纵向参考网格线重合时,确定与纵向参考网格线重合的至少一条单连通链处于同一条竖向表格线。根据所述单连通链和对应的参考网格线的确定所述单连通链是否处于所述参考网格线上,若是,则确定所述单连通链为直线单连通链,若否,则确定所述单连通链为非直线单连通链,剔除所述非直线单连通链。确定为直线单连通链中的多条横向单连通链的横向参考网格线,若所述多条横向单连通链的横向参考网格线处于同一直线的,确定所述多条横线单连通链属于同一条参考表格线,得到直线单连通链集合。根据直线单连通链集合中与横向参考线或竖向参考线重合的单连通链中长度小于预设阈值的单连通链进行剔除,得到多个单连通链集合。如图3d所示,图3d中虚线为参考网格线,横向单连通链h1取其中一点a做参考网格线,单连通链h1与横向参考网格线重合,以及横向单连通链h2取点b做参考网格线,单连通链h2与横向参考网格线重合,单连通链h1和h2的横向参考线重合,即可判断单连通链h1和h2为直线,且在同一直线上,即属于同一条横向表格线。竖向单连通链s1取其中一点c做参考网格线,单连通链s1与纵向参考网格线重合,以及竖向单连通链s2取点d做参考网格线,单连通链s2与纵向参考网格线重合,单连通链s1和s2的竖向参考线重合,即可判断单连通链s1和s2为直线,且在同一直线上,即属于同一条竖向表格线。则将属于同一条表格线的多个单连通链划分为一个单连通链集合,并将没有与横向参考线或竖向参考线重合的单连通链确定为非直线单连通链并剔除。

可见,能够基于单连通链的参考网格线,剔除非直线单连通链,得到单连通链集合,提高了提取表格版面的准确性。

在一个可能的示例中,根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面,包括:根据所述多个单连通链集合对应的多个参考表格线,确定参考表格;根据非法表格来源和所述参考表格滤除非法表格,得到所述图片的所述表格版面,所述非法表格为由非法表格来源生成的表格,所述非法表格来源包括导致参考表格线误判的所述图片中除表格线以外的直线。

其中,如图4所示,图4是本申请实施例提供的一种单连通链连接的示意图,将每个单连通链集合包括的至少一条单连通链进行连接得到参考表格线,根据多个单连通链集合得到的多个参考表格线进行连接,得到参考表格。其中,所述将每个单连通链集合包括的至少一条单连通链进行连接得到参考表格线,包括:判断同一条表格线上的多个单连通链是否为断线;若是,则将所述多个单连通链进行断线连接,得到参考表格线;所述断线可以是由于图像中表格线打印不清晰,或者表格线被其他图像遮盖而导致的断线。

具体实现中,为了更加准确的提取表格版面,在生成参考表格后,对所述参考表格进行后处理,滤除非法表格,提取表格版面。其中,所述非法表格包括因为方形印章或者字体太大而导致的连接线误判形成的表格。

可见,能够基于参考表格线生成参考表格,并对所述参考表格中非法表格进行滤除,提高了提取表格版面的准确率。

在一个可能的示例中,所述根据非法表格来源和所述参考表格滤除非法表格,得到所述图片的所述表格版面,包括:识别所有参考表格线的颜色;根据所述颜色识别所述除表格线以外的直线并滤除误判的参考表格线,得到所述图片的所述表格版面;或,获取所述参考表格线的线宽,得到线宽集合;判断所述线宽集合中是否存在大于预设宽度阈值的线宽;若存在,滤除大于预设宽度阈值的线宽对应的参考表格线,得到所述图片的所述表格版面;或,识别所述表格版面的形态特征;滤除所述形态特征不符合预设形态规则的参考表格对应的参考表格线,得到所述图片的所述表格版面;或,通过图像处理技术检测所述图片中的除表格线以外的直线;计算所述直线的横向像素或竖向像素;根据所述横向像素或竖向像素计算所述直线与所有的参考表格线的像素重叠度;根据所述像素重叠度得到每个参考表格线的重叠度的累计值;判断所述累计值大于预设文字重叠阈值时,剔除所述直线对应的参考表格线,得到所述图片的所述表格版面。

其中,根据所有参考表格线的颜色识别所述图片中导致参考表格线误判的除表格线以外的直线,举例来说,一般印章颜色为红色或者蓝色,可以印章颜色对方形印章形成的表格线进行剔除;实际中,方形印章的边框线的宽度都远大于一般表格线的宽度,可以通过检测表格版面的表格线宽度,将远大于表格线预设宽度阈值的表格线进行剔除;还可以通过表格的形态特征对不符合表格形态特征的参考表格的表格线进行剔除;还可以通过以上任意一种及以上的方法对方形印章产生的非法表格进行剔除。

其中,还可以根据除表格线以外的直线和表格线的像素重叠度对非法表格进行剔除。例如,首先可以在预处理时通过连通域的方式将所述图片中的文字提取出来;然后依次将各个文字与所有检测到的表格线进行像素重叠度计算,所述像素重叠度只要是指文字中笔画所占的像素点与表格线之间的像素点的个数记为像素重叠度。然后对每个表格线,可以得到表格线上的重叠度的累计值,最后将所述重叠度的累计值大于预设文字重叠阈值的参考表格线确定为因文字过大导致的误识别的表格线,并将其剔除。

具体实现中,如图5a所示,图5a是本申请实施例提供的一种因文字过大导致表格线误判的示意图,图中文字“十一”过大时,会导致“十”的横和“一”被误判为一条横向表格线,“十”的竖被误判为一条竖向表格线。对于过大的文字,可以先对图片进行预处理,提取出文字“十一”,将文字中笔画“横”所占的像素点与误判的横向表格线的像素点进行重叠度计算,得到横向表格线重叠度累计值,以及将笔画“竖”所占的像素点与误判的竖向表格线的像素点进行重叠度计算,得到竖向表格线重叠度累计值,判断累计值大于预设文字重叠阈值时,确定为因为文字过大误判的表格线,并将误判的表格线剔除;判断累计值小于预设文字重叠阈值时,确定为合法表格线。

可见,能够通过剔除图片中除表格线以外的直线导致的非法表格,加快提取表格版面的速度,提高提取表格版面的准确度。

在一个可能的示例中,所述滤除所述形态特征不符合预设形态规则的参考表格对应的参考表格线,包括:通过横向参考表格线与竖向参考表格线的交点形态,确定表格的角点;根据所述角点确定所述参考表格中单元表格数量;根据所述单元表格数量确定所述表格的形态特征,所述形态特征包括角点数量和交点数量;根据所述表格的形态特征滤除不符合预设形态规则的参考表格对应的参考表格线。

其中,首先通过所述表格版面的横向表格线和竖向表格线的交点数量获取表格的数量,即通过判断交点是否为表格的角点,如图5b所示,图5b是本申请实施例提供的一种因方形印章导致表格线误判的示意图,图中交点1为横向表格线x1和竖向表格线y1的交点,交点1的左方和上方都没有任何像素点,则该交点1为横向表格线x1和竖向表格线y1所属表格的左上角的角点。通过判断角点的数量确定独立表格的数量,例如图5b所示,图中有8个角点,则检测到了两个独立表格。其中,合法表格中至少有两条相对的表格外围边线上有交点,且这些交点不包括角点,例如图5b所示,图中的方形印章产生的表格有两条边线上有交点,即交点2和交点3,但这两条边为相邻边而不是相对边,确定方形印章产生的表格为非法表格,并剔除对应的表格线。

具体实现中,还可能存在方形印章处于表格内部的情形,如图5c所示,图5c是本申请实施例提供的另一种因方形印章导致表格线误判的示意图,先通过检测表格的交点数量,进一步根据所述交点数量确定角点数量,然后根据交点4和交点5以及表格形态特征对方形印章产生的表格线进行剔除。或者,确定角点数量之后,确定角点的坐标,根据角点的坐标判断所述角点是否在所述表格版面的每个单元格内,若是,确定存在角点的单元格的形态特征,若形态特征不符合预设形态规则,则对不符合表格形态特征的表格进行剔除。

可见,能够通过多种方式剔除方形印章产生的非法表格,加快了提取表格版面的速度,提高了提取表格版面的准确度。

下面结合一些示例对本申请进行详细说明。

与上述图2所示的实施例一致的,请参阅图6,图6是本申请实施例提供的一种电子设备600的结构示意图,如图所示,所述电子设备600包括应用处理器610、存储器620、通信接口630以及一个或多个程序621,其中,所述一个或多个程序621被存储在上述存储器620中,并且被配置由上述应用处理器610执行,所述一个或多个程序621包括用于执行以下步骤的指令;

获取包含表格版面的图片;

确定所述图片中符合表格线约束条件的多个单连通链集合,所述多个单连通链集合中每个单连通链集合包括至少一条单连通链,所述单连通链对应于所述图片中的横向或竖向的短线段,所述表格线约束条件是指单连通链的方向相同且处于同一直线;

根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;

根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面。

可以看出,本申请实施例中,在获取包含表格版面的图片后,可以确定所述图片中符合表格线约束条件的多个单连通链集合,然后根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;最后根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面,可见,本申请通过确定所述图片中符合表格线约束条件的多个单连通链集合生成的参考表格线,进而得到表格版面,降低了对表格检测的复杂度,提高了提取表格版面的效率和准确率。

在一个可能的示例中,在所述确定所述图片中符合表格线约束条件的多个单连通链集合方面,所述程序中的指令具体用于执行以下操作:检测并提取所述图片中所有单连通链;筛选所述所有单连通链中符合预设条件的多个单连通链;对所述多个单连通链按照表格线约束条件划分为多个单连通链集合。

在一个可能的示例中,在所述筛选所述所有单连通链中符合预设条件的多个单连通链方面,所述程序中的指令具体用于执行以下操作:获取所述表格版面在所述图片中的自适应长度阈值;将所述所有单连通链中每个单连通链与所述自适应长度阈值进行比较,剔除长度小于所述自适应长度阈值的单连通链,得到符合所述自适应长度阈值的单连通链;剔除符合所述自适应长度阈值的单连通链中非直线的单连通链,得到符合直线要求的单连通链;计算所述符合直线要求的单连通链的倾斜角,并将最大角度标记为整个表格的主方向;剔除所述倾斜角与所述主方向差值超过预设角度阈值的单连通链;根据所述主方向对符合预设角度阈值的单连通链进行倾斜矫正,得到符合预设条件的多个单连通链。

在一个可能的示例中,在所述对所述多个单连通链按照表格线约束条件划分为多个单连通链集合方面,所述程序中的指令具体用于执行以下操作:获取所述多个单连通链中任意两条横向单连通链的竖向差值;当所述竖向差值小于第一预设阈值时,确定所述任意两条横向单连通链为同一条横向表格线;将处于同一条横向表格线上的所有横向单连通链进行从左到右的排序处理;或,获取所述多个单连通链中任意两条竖向单连通链的横向差值;当所述横向差值小于第二预设阈值时,确定所述任意两条竖向单连通链为同一条竖向表格线;将处于同一条竖向表格线上的所有竖向单连通链进行从上到下的排序处理;根据排序后的多个单连通链确定多个单连通链集合,其中,每个单连通链集合对应一条表格线的多个单连通链。

在一个可能的示例中,在所述确定所述图片中符合表格线约束条件的多个单连通链集合方面,所述程序中的指令具体用于执行以下操作:提取所述图片中所有单连通链;针对所述所有单连通链中每个单连通链确定网格线参考点;以所述网格线参考点为基准点,确定所述每个单连通链在所述图片中的纵向参考网格线和横向参考网格线;确定所述所有单连通链中多个完全处于同一参考网格线的单连通链集合。

在一个可能的示例中,在所述确定所述所有单连通链中多个完全处于同一条参考网格线的单连通链集合方面,所述程序中的指令具体用于执行以下操作:确定所述所有单连通链中的多条直线单连通链;根据所述多条直线单连通链中每条直线单连通链的参考表格线确定处于同一参考网格线的至少一条单连通链;对所述至少一条单连通链进行排序处理,得到多个所述单连通链集合。

在一个可能的示例中,在所述根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面方面,所述程序中的指令具体用于执行以下操作:根据所述多个单连通链集合对应的多个参考表格线,确定参考表格;根据非法表格来源和所述参考表格滤除非法表格,得到所述图片的所述表格版面,所述非法表格为由非法表格来源生成的表格,所述非法表格来源包括导致参考表格线误判的所述图片中除表格线以外的直线。

在一个可能的示例中,在所述非法来源为方形印章导致的参考表格线误判时,所述根据非法表格来源和所述参考表格滤除非法表格,得到所述图片的所述表格版面方面,所述程序中的指令具体用于执行以下操作:识别所有参考表格线的颜色;根据所述颜色识别所述除表格线以外的直线并滤除误判的参考表格线,得到所述图片的所述表格版面;或,获取所述参考表格线的线宽,得到线宽集合;判断所述线宽集合中是否存在大于预设宽度阈值的线宽;若存在,滤除大于预设宽度阈值的线宽对应的参考表格线,得到所述图片的所述表格版面;或,识别所述表格版面的形态特征;滤除所述形态特征不符合预设形态规则的参考表格对应的参考表格线,得到所述图片的所述表格版面;或,通过图像处理技术检测所述图片中的除表格线以外的直线;计算所述直线的横向像素或竖向像素;根据所述横向像素或竖向像素计算所述直线与所有的参考表格线的像素重叠度;根据所述像素重叠度得到每个参考表格线的重叠度的累计值;判断所述累计值大于预设文字重叠阈值时,剔除所述直线对应的参考表格线,得到所述图片的所述表格版面。

在一个可能的示例中,在所述滤除所述形态特征不符合预设形态规则的参考表格对应的参考表格线方面,所述程序中的指令具体用于执行以下操作:通过横向参考表格线与竖向参考表格线的交点形态,确定表格的角点;根据所述角点确定所述参考表格中单元表格数量;根据所述单元表格数量确定所述表格的形态特征,所述形态特征包括角点数量和交点数量;根据所述表格的形态特征滤除不符合预设形态规则的参考表格对应的参考表格线。

上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图7是本申请实施例中所涉及的表格版面分析与提取装置700的功能单元组成框图。该表格版面分析与提取装置700应用于电子设备,所述电子设备包括处理单元701和通信单元702,其中,

所述处理单元701,用于通过所述通信单元702获取包含表格版面的图片;以及确定所述图片中符合表格线约束条件的多个单连通链集合,所述多个单连通链集合中每个单连通链集合包括至少一条单连通链,所述单连通链对应于所述图片中的横向或竖向的短线段,所述表格线约束条件是指单连通链的方向相同且处于同一直线;以及根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;以及根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面。

其中,所述表格版面分析与提取装置700还可以包括存储单元703,用于存储电子设备的程序代码和数据。所述处理单元701可以是处理器,所述通信单元702可以是内部通信接口,存储单元703可以是存储器。

可以看出,本申请实施例中,在获取包含表格版面的图片后,可以确定所述图片中符合表格线约束条件的多个单连通链集合,然后根据所述每个单连通链集合包含的至少一条单连通链,生成所述每个单连通链集合对应的参考表格线;最后根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面,可见,本申请通过确定所述图片中符合表格线约束条件的多个单连通链集合生成的参考表格线,进而得到表格版面,降低了对表格检测的复杂度,提高了提取表格版面的效率和准确率。

在一个可能的示例中,在所述确定所述图片中符合表格线约束条件的多个单连通链集合方面,所述处理单元701具体用于:检测并提取所述图片中所有单连通链;筛选所述所有单连通链中符合预设条件的多个单连通链;对所述多个单连通链按照表格线约束条件划分为多个单连通链集合。

在一个可能的示例中,在所述筛选所述所有单连通链中符合预设条件的多个单连通链方面,所述处理单元701具体用于:获取所述表格版面在所述图片中的自适应长度阈值;将所述所有单连通链中每个单连通链与所述自适应长度阈值进行比较,剔除长度小于所述自适应长度阈值的单连通链,得到符合所述自适应长度阈值的单连通链;剔除符合所述自适应长度阈值的单连通链中非直线的单连通链,得到符合直线要求的单连通链;计算所述符合直线要求的单连通链的倾斜角,并将最大角度标记为整个表格的主方向;剔除所述倾斜角与所述主方向差值超过预设角度阈值的单连通链;根据所述主方向对符合预设角度阈值的单连通链进行倾斜矫正,得到符合预设条件的多个单连通链。

在一个可能的示例中,在所述对所述多个单连通链按照表格线约束条件划分为多个单连通链集合方面,所述处理单元701具体用于:获取所述多个单连通链中任意两条横向单连通链的竖向差值;当所述竖向差值小于第一预设阈值时,确定所述任意两条横向单连通链为同一条横向表格线;将处于同一条横向表格线上的所有横向单连通链进行从左到右的排序处理;或,获取所述多个单连通链中任意两条竖向单连通链的横向差值;当所述横向差值小于第二预设阈值时,确定所述任意两条竖向单连通链为同一条竖向表格线;将处于同一条竖向表格线上的所有竖向单连通链进行从上到下的排序处理;根据排序后的多个单连通链确定多个单连通链集合,其中,每个单连通链集合对应一条表格线的多个单连通链。

在一个可能的示例中,在所述确定所述图片中符合表格线约束条件的多个单连通链集合方面,所述处理单元701具体用于:提取所述图片中所有单连通链;针对所述所有单连通链中每个单连通链确定网格线参考点;以所述网格线参考点为基准点,确定所述每个单连通链在所述图片中的纵向参考网格线和横向参考网格线;确定所述所有单连通链中多个完全处于同一参考网格线的单连通链集合。

在一个可能的示例中,在所述确定所述所有单连通链中多个完全处于同一条参考网格线的单连通链集合方面,所述处理单元701具体用于:确定所述所有单连通链中的多条直线单连通链;根据所述多条直线单连通链中每条直线单连通链的参考表格线确定处于同一参考网格线的至少一条单连通链;对所述至少一条单连通链进行排序处理,得到多个所述单连通链集合。

在一个可能的示例中,在所述根据所述多个单连通链集合对应的多个参考表格线,生成所述图片的所述表格版面方面,所述处理单元701具体用于:根据所述多个单连通链集合对应的多个参考表格线,确定参考表格;根据非法表格来源和所述参考表格滤除非法表格,得到所述图片的所述表格版面,所述非法表格为由非法表格来源生成的表格,所述非法表格来源包括导致参考表格线误判的所述图片中除表格线以外的直线。

在一个可能的示例中,在所述非法来源为方形印章导致的参考表格线误判时,所述根据非法表格来源和所述参考表格滤除非法表格,得到所述图片的所述表格版面方面,所述处理单元701具体用于:识别所有参考表格线的颜色;根据所述颜色识别所述除表格线以外的直线并滤除误判的参考表格线,得到所述图片的所述表格版面;或,获取所述参考表格线的线宽,得到线宽集合;判断所述线宽集合中是否存在大于预设宽度阈值的线宽;若存在,滤除大于预设宽度阈值的线宽对应的参考表格线,得到所述图片的所述表格版面;或,识别所述表格版面的形态特征;滤除所述形态特征不符合预设形态规则的参考表格对应的参考表格线,得到所述图片的所述表格版面;或,通过图像处理技术检测所述图片中的除表格线以外的直线;计算所述直线的横向像素或竖向像素;根据所述横向像素或竖向像素计算所述直线与所有的参考表格线的像素重叠度;根据所述像素重叠度得到每个参考表格线的重叠度的累计值;判断所述累计值大于预设文字重叠阈值时,剔除所述直线对应的参考表格线,得到所述图片的所述表格版面。

在一个可能的示例中,在所述滤除所述形态特征不符合预设形态规则的参考表格对应的参考表格线方面,所述处理单元701具体用于:通过横向参考表格线与竖向参考表格线的交点形态,确定表格的角点;根据所述角点确定所述参考表格中单元表格数量;根据所述单元表格数量确定所述表格的形态特征,所述形态特征包括角点数量和交点数量;根据所述表格的形态特征滤除不符合预设形态规则的参考表格对应的参考表格线。

本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。

本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取器(英文:randomaccessmemory,简称:ram)、磁盘或光盘等。

以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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