表格的重构方法和装置、存储介质及电子装置

文档序号:86643 发布日期:2021-10-08 浏览:25次 >En<

阅读说明:本技术 表格的重构方法和装置、存储介质及电子装置 (Table reconstruction method and device, storage medium and electronic device ) 是由 李亚红 熊剑平 于 2021-07-29 设计创作,主要内容包括:本申请公开了一种表格的重构方法和装置、存储介质及电子装置,其中,上述方法包括:对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。通过本申请,可以降低依据表格线进行表格重构的计算复杂度,以及提升表格重构效率。(The application discloses a table reconstruction method and device, a storage medium and an electronic device, wherein the method comprises the following steps: performing table detection on the document to be reconstructed to obtain an area boundary of a table area in the document to be reconstructed and a table line in the table area; based on the area boundary and the table line, carrying out cell search in the table area along a target direction to obtain the position information of each cell in the table area, wherein the target direction comprises a first direction parallel to the target area boundary of the table area and a second direction perpendicular to the target area boundary; and performing table reconstruction according to the position information of each cell to obtain a reconstruction table corresponding to the document to be reconstructed. By the method and the device, the calculation complexity of table reconstruction according to the table lines can be reduced, and the table reconstruction efficiency is improved.)

表格的重构方法和装置、存储介质及电子装置

技术领域

本申请涉及通信领域,具体而言,涉及一种表格的重构方法和装置、存储介质及电子装置。

背景技术

目前,众多企业在向智能化办公迁移,许多纸质文档数据需要电子化。表格是文档的重要组成部分,表格电子化与表格重构息息相关。

相关技术中提供的表格重构方式为:获取待重构表格图像;对待重构表格图像进行分割得到第一表格线以及第二表格线;获取第一表格线与第二表格线的交点;获取各交点对应的交点坐标;根据各交点坐标将对应的交点连接以重构表格。

对于上述表格重构方式,在得到表格横竖线之后,检测交点轮廓,确定交点后依据交点坐标排序,计算复杂度高。同时,对于具有复杂合并单元格样式的表格的重构逻辑将更加复杂。

由此可见,相关技术中依据表格线进行表格重构的方式,存在计算复杂度高、表格重构效率低的问题。

发明内容

本申请实施例提供了一种表格的重构方法和装置、存储介质及电子装置,以至少降低依据表格线进行表格重构的的计算复杂度,以及提升表格重构效率。

根据本申请实施例的一个方面,提供了一种表格的重构方法,包括:对待重构文档进行表格检测,得到所述待重构文档中的表格区域的区域边界、以及所述表格区域内的表格线;基于所述区域边界和所述表格线,在所述表格区域内沿着目标方向进行单元格搜索,得到所述表格区域内的各个单元格的位置信息,其中,所述目标方向包括与所述表格区域的目标区域边界平行的第一方向、以及与所述目标区域边界垂直的第二方向;根据所述各个单元格的位置信息进行表格重构,得到与所述待重构文档对应的重构表格。

在一个示例性实施例中,基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向进行单元格搜索,得到所述表格区域内的所述各个单元格的位置信息包括:基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向进行单元格搜索,得到所述各个单元格的目标顶点,其中,所述各个单元格的目标顶点在所述各个单元格中的相对位置是相同的;基于所述区域边界和所述表格线,以所述各个单元格的目标顶点为起点在所述表格区域内沿着所述目标方向进行单元格边界搜索,得到所述各个单元格的位置信息。

在一个示例性实施例中,基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向进行单元格搜索,得到所述各个单元格的目标顶点包括:基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向搜索相邻单元格的目标顶点,得到所述各个单元格的目标顶点。

在一个示例性实施例中,基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向搜索相邻单元格的目标顶点,得到所述各个单元格的目标顶点包括:基于所述区域边界和所述表格线,以第一单元格的目标顶点为起点沿着所述目标方向搜索相邻单元格的目标顶点,得到第二单元格的目标顶点,其中,所述第一单元格为第一个搜索的单元格,所述第二单元格为所述第一单元格的相邻单元格;将所述第二单元格的目标顶点添加到搜索队列中;从所述搜索队列中依次提取单元格的目标顶点作为当前单元格的目标顶点执行以下步骤,直到所述搜索队列为空:基于所述区域边界和所述表格线,以所述当前单元格的目标顶点为起点沿着所述目标方向搜索相邻单元格的目标顶点,得到所述当前单元格的相邻单元格的目标顶点;在所述当前单元格的相邻单元格未被执行过相邻单元格的目标顶点的搜索操作的情况下,将所述当前单元格的相邻单元格的目标顶点添加到所述搜索队列中。

在一个示例性实施例中,基于所述区域边界和所述表格线,以所述当前单元格的目标顶点为起点沿着所述目标方向搜索相邻单元格的目标顶点,得到所述当前单元格的相邻单元格的目标顶点包括:以所述当前单元格的目标顶点为起点沿着所述目标方向搜索所述区域边界和所述表格线,搜索到目标边界上的参考点,其中,所述目标边界为所述当前单元格在所述目标方向上的边界;在所述目标边界不是所述区域边界的情况下,确定与所述当前单元格在所述目标方向上相邻的第三单元格中的候选顶点,其中,所述候选顶点为所述参考点沿着所述目标方向偏移目标距离得到的点;在所述候选顶点与所述第三单元格的单元格边界之间的距离小于或者等于目标距离阈值的情况下,将所述候选顶点确定为所述第三单元格的目标顶点。

在一个示例性实施例中,根据所述各个单元格的位置信息进行表格重构,得到与所述待重构文档对应的所述重构表格包括:根据所述各个单元格的位置信息,确定出所述各个单元格的单元格尺寸、以及所述各个单元格的单元格尺寸中的最小单元格尺寸,其中,所述最小单元格尺寸为所述表格区域的最小单元格的尺寸;根据所述各个单元格的单元格尺寸和所述最小单元格尺寸,确定所述各个单元格的重构尺寸,其中,所述各个单元格的重构尺寸用于指示所述各个单元格在重构的表格中所占的所述最小单元格的数量;根据所述各个单元格的位置信息以及所述各个单元格的重构尺寸进行表格重构,得到与所述待重构文档对应的所述重构表格。

在一个示例性实施例中,根据所述各个单元格的位置信息进行表格重构,得到与所述待重构文档对应的所述重构表格包括:根据所述各个单元格的搜索顺序以及所述各个单元格的位置信息进行表格重构,得到与所述待重构文档对应的所述重构表格。

根据本申请实施例的另一个方面,还提供了一种表格的重构装置,包括:检测单元,用于对待重构文档进行表格检测,得到所述待重构文档中的表格区域的区域边界、以及所述表格区域内的表格线;搜索单元,用于基于所述区域边界和所述表格线,在所述表格区域内沿着目标方向进行单元格搜索,得到所述表格区域内的各个单元格的位置信息,其中,所述目标方向包括与所述表格区域的目标区域边界平行的第一方向、以及与所述目标区域边界垂直的第二方向;重构单元,用于根据所述各个单元格的位置信息进行表格重构,得到与所述待重构文档对应的重构表格。

在一个示例性实施例中,所述搜索单元包括:第一搜索模块,用于基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向进行单元格搜索,得到所述各个单元格的目标顶点,其中,所述各个单元格的目标顶点在所述各个单元格中的相对位置是相同的;第二搜索模块,用于基于所述区域边界和所述表格线,以所述各个单元格的目标顶点为起点在所述表格区域内沿着所述目标方向进行单元格边界搜索,得到所述各个单元格的位置信息。

在一个示例性实施例中,所述第一搜索模块包括:搜索子模块,用于基于所述区域边界和所述表格线,在所述表格区域内沿着所述目标方向搜索相邻单元格的目标顶点,得到所述各个单元格的目标顶点。

在一个示例性实施例中,所述搜索子模块包括:搜索子单元,用于基于所述区域边界和所述表格线,以第一单元格的目标顶点为起点沿着所述目标方向搜索相邻单元格的目标顶点,得到第二单元格的目标顶点,其中,所述第一单元格为第一个搜索的单元格,所述第二单元格为所述第一单元格的相邻单元格;添加子单元,用于将所述第二单元格的目标顶点添加到搜索队列中;执行子单元,用于从所述搜索队列中依次提取单元格的目标顶点作为当前单元格的目标顶点执行以下步骤,直到所述搜索队列为空:基于所述区域边界和所述表格线,以所述当前单元格的目标顶点为起点沿着所述目标方向搜索相邻单元格的目标顶点,得到所述当前单元格的相邻单元格的目标顶点;在所述当前单元格的相邻单元格未被执行过相邻单元格的目标顶点的搜索操作的情况下,将所述当前单元格的相邻单元格的目标顶点添加到所述搜索队列中。

在一个示例性实施例中,执行子单元包括:搜索次子单元,用于以所述当前单元格的目标顶点为起点沿着所述目标方向搜索所述区域边界和所述表格线,搜索到目标边界上的参考点,其中,所述目标边界为所述当前单元格在所述目标方向上的边界;第一确定次子单元,用于在所述目标边界不是所述区域边界的情况下,确定与所述当前单元格在所述目标方向上相邻的第三单元格中的候选顶点,其中,所述候选顶点为所述参考点沿着所述目标方向偏移目标距离得到的点;第二确定次子单元,用于在所述候选顶点与所述第三单元格的单元格边界之间的距离小于或者等于目标距离阈值的情况下,将所述候选顶点确定为所述第三单元格的目标顶点。

在一个示例性实施例中,所述重构单元包括:第一确定模块,用于根据所述各个单元格的位置信息,确定出所述各个单元格的单元格尺寸、以及所述各个单元格的单元格尺寸中的最小单元格尺寸,其中,所述最小单元格尺寸为所述表格区域的最小单元格的尺寸;第二确定模块,用于根据所述各个单元格的单元格尺寸和所述最小单元格尺寸,确定所述各个单元格的重构尺寸,其中,所述各个单元格的重构尺寸用于指示所述各个单元格在重构的表格中所占的所述最小单元格的数量;第一重构模块,用于根据所述各个单元格的位置信息以及所述各个单元格的重构尺寸进行表格重构,得到与所述待重构文档对应的所述重构表格。

在一个示例性实施例中,所述重构单元包括:第二重构模块,用于重构根据所述各个单元格的搜索顺序以及所述各个单元格的位置信息进行表格重构,得到与所述待重构文档对应的所述重构表格。

根据本申请实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述表格的重构方法。

根据本申请实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的表格的重构方法。

在本申请实施例中,采用将表格结构转化为沿着特定方向进行单元格遍历与解析的方式,通过对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格,由于在检测到的表格区域内沿着特定方向进行单元格遍历与解析,基于区域边界和表格线可以确定出各个单元格的位置信息,无需执行检测交点轮廓以及依据交点坐标排序等操作,可以达到降低算法的计算复杂度、提高表格重构效率的技术效果,进而解决了相关技术中依据表格线进行表格重构的方式存在的计算复杂度高、表格重构效率低的问题。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

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

图1是根据本申请实施例的一种可选的表格的重构方法的硬件环境的示意图;

图2是根据本申请实施例的一种可选的表格的重构方法的流程示意图;

图3是根据本申请实施例的一种可选的表格的重构方法的示意图;

图4是根据本申请实施例的另一种可选的表格的重构方法的示意图;

图5是根据本申请实施例的一种可选的搜索二叉树的示意图;

图6是根据本申请实施例的另一种可选的表格的重构方法的流程示意图;

图7是根据本申请实施例的一种可选的表格的重构装置的结构框图;

图8是根据本申请实施例的一种可选的电子装置的结构框图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例的一个方面,提供了一种表格的重构方法。可选地,在本实施例中,上述表格的重构方法可以应用于如图1所示的由终端102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务。

上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:WIFI(Wireless Fidelity,无线保真),蓝牙。终端102可以并不限定于为PC(Personal Computer,个人计算机)、手机、平板电脑等。

本申请实施例的表格的重构方法可以由服务器104来执行,也可以由终端102来执行,还可以是由服务器104和终端102共同执行。其中,终端102执行本申请实施例的表格的重构方法也可以是由安装在其上的客户端来执行。

以由服务器104来执行本实施例中的表格的重构方法为例,图2是根据本申请实施例的一种可选的表格的重构方法的流程示意图,如图2所示,该方法的流程可以包括以下步骤:

步骤S202,对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线。

本实施例中的表格的重构方法可以应用在为文档中的表格区域重构出对应的表格的场景,需要重构出对应的表格区域的文档为待重构文档,即,待重构出对应的表格的文档。上述待重构文档的格式可以有多种,可以是PDF(Portable Document Format,便携式文档格式)、图像、或者其他可以包含表格区域的文档格式,本实施例中对于待重构文档的文档格式不做限定。

目标终端上可以运行有具有表格重构功能的目标客户端,并通过目标客户端选取待进行表格重构的文档,即,待重构文档。目标客户端可以直接对待重构文档执行表格重构操作,也可以通过与后台服务器之间的通信连接将待重构文档发送给后台服务器,由后台服务器执行表格重构操作,本实施例中以由后台服务器执行表格重构操作为例进行说明。

服务器(即,后台服务器)可以获取待重构文档,对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线。例如,后台服务器可以基于深度学习技术或者形态学对待重构文档进行处理,得到待重构文档的表格区域以及表格线。

可选地,在检测到待重构文档的表格区域以及表格线之后,可以将待重构文档中表格区域的区域边界和表格线设置为第一颜色(例如,白色),将待重构文档中除了表格区域的区域边界和表格线以外的其他位置设置为第二颜色(例如,黑色),从而可以根据搜索到的颜色确定是否搜索到区域边界或者表格线。

例如,待重构文档为待重构图像,在对待重构图像进行表格检测之后,可以将检测到的表格区域和表格线设置为白色,其他的位置设置为黑色,得到如图3所示的图像区域。

步骤S204,基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向。

基于区域边界和表格线,服务器可以在表格区域内沿着目标方向进行单元格搜索。目标方向可以包括与表格区域的目标区域边界平行的第一方向以及与该目标区域边界垂直的第二方向,也就是,与该第一方向垂直的第二方向。

例如,目标区域边界可以是表格区域的上边界(或者下边界),第一方向为水平向左的方向(或者水平向右的方向),第二方向为垂直向上的方向(或者垂直向下的方向)。又例如,目标区域边界可以是表格区域的左边界(或者右边界),第一方向为垂直向上的方向(或者垂直向下的方向),第二方向为水平向左的方向(或者水平向右的方向)。

在进行单元格搜索时,可以以表格区域的一个位置点(搜索起点)为起点开始搜索,该搜索起点可以是表格区域的一个表格顶点。例如,可以以表格区域的左上角作为搜寻单元格顶点。为了避免线宽影响,该表格顶点可以不是严格的表格顶点(也就是,不是区域边界的交点),而是位于表格区域内且与表格区域的目标顶点之间为目标距离的点。例如,如图3所示,搜寻单元格的起点可以是表格区域的左上角的顶点向右下方移动一小段距离,且周围无白色像素值的点。

从该搜索起点开始,服务器可以沿着第一方向进行单元格搜索,如果搜索到区域边界或者表格线,可以确定搜索到当前单元格的边界。服务器也可以沿着第二方向进行单元格搜索,如果搜索到区域边界或者表格线,则可以确定搜索到当前单元格的边界。基于搜索到的单元格边界,即可确定当前单元格的位置信息。

除了以表格顶点为起点进行单元格搜索以外,还可以以表格区域内的任意点为起点进行单元格搜索,搜索的方式为四个方向(第一方向包含相反的两个方向,第二方向也包含相反的两个方向),从而确定出当前单元格的四个边界。

在搜索到当前单元格的位置区域之后,可以继续基于区域边界和表格线,沿着目标方向搜索当前单元格的相邻单元格的边界。搜索起点更新为该相邻单元格内的一个点。相邻单元格的搜索起点可以是根据当前单元格的搜索起点确定的。例如,该相邻单元格与当前单元格在第一方向上相邻,则相邻单元格的搜索起点为以当前单元格的搜索起点沿着第一方向搜索到表格线之后,再沿着第一方向偏移一小段距离之后所得到的点。

需要说明的是,为避免搜索已搜索过的单元格,可以基于已搜索到的单元格的位置信息确定当前待搜索的单元格是否已经被搜索过,从而提高单元格搜索的效率。

可选地,单元格搜索可以是按照递进的方式进行搜索,例如,沿着目标方向搜索单元格的相邻单元格,再沿着目标方向搜索相邻单元格的相邻单元格,直到所有的单元格均被搜索过。单元格搜索可以是按照随机的方式进行搜索,例如,可以在未被搜索过的表格区域内随机选取一个位置点,沿着目标方向搜索该位置点所在的单元格的边界,确定该单元格的位置区域,更新未被搜索过的表格区域,重新选取位置点进行搜索,直到未被搜索过的表格区域为空。

需要说明的是,在表格区域内沿着目标方向进行单元格搜索可以是沿着目标方向搜索单元格的边界。在进行单元格搜索时,可以是分别沿着第一方向和第二方向搜索单元格的边界,还可以是同时沿着第一方向和第二方向搜索单元格的边界。在表格区域内沿着目标方向进行单元格搜索还可以是沿着目标方向搜索单元格的相邻单元格。在进行单元格搜索时,可以是分别沿着第一方向和第二方向搜索单元格的相邻单元格,还可以是同时沿着第一方向和第二方向搜索单元格的相邻单元格,本实施例中对此不做限定。

步骤S206,根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。

在得到所有单元格的位置信息之后,服务器可以根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格,或者说,与待重构文档的表格区域对应的重构表格。基于各个单元格的位置信息进行表格重构的方式有多种,可以包括但不限于基于单元格的长宽比确定各个单元格所占的表格单元的数量和位置,进而重构出表格。

可选地,除了重构出表格以外,还可以将各个单元格中的文本信息写入到重构表格中对应的单元格内。例如,每个单元格图像可以通过像素投影或者深度学习方法进行文本行检测,确定每个单元格图像中的文本行位置,对文本行通过如CRNN(ConvolutionalRecurrent Neural Network,卷积循环神经网络)等识别网络进行识别,得到识别结果。结合识别结果和表格结构信息,可以根据用户需求实现表格重构,生成excel(一款办公软件)等输出文件。

输出的表格文件可以保存在服务器本地,或者,与服务器相连的数据库中,还可以发送给目标终端进行保存或者显示。如果由目标终端进行表格重构,重构出的表格文件可以显示在终端的显示界面上,也可以保存到终端本地,或者发送到服务端进行保存,本实施例中对此不做限定。

通过上述步骤,对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格,解决了相关技术中依据表格线进行表格重构的方式存在的计算复杂度高、表格重构效率低的问题,降低了算法的计算复杂度,提高了表格重构效率。

在一个示例性实施例中,基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息包括:

S11,基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到各个单元格的目标顶点,其中,各个单元格的目标顶点在各个单元格中的相对位置是相同的;

S12,基于区域边界和表格线,以各个单元格的目标顶点为起点在表格区域内沿着目标方向进行单元格边界搜索,得到各个单元格的位置信息。

在进行单元格搜索时,可以首先基于区域边界和表格线搜索各个单元格的顶点,搜索的顶点可以是各个单元格相同位置上的顶点,例如,左上角的顶点、左下角的顶点、右上角的顶点、右下角的顶点。表格中的单元格一般为方形,且具有四个顶点。基于单元格的属性以及表格区域中的区域边界和表格线,每个单元格的目标顶点可以在从其他单元格的目标顶点为起点、沿着目标方向进行搜索时被搜索到。

对于各个单元格的目标顶点,服务器可以基于区域边界和表格线,以各个单元格的目标顶点为起点在表格区域内沿着目标方向进行单元格边界搜索,确定出各个单元格的边界,进而得到各个单元格的位置信息。

需要说明的是,搜索各个单元格的目标顶点以及搜索各个单元格的边界可以是串行执行的,即,搜索到所有单元格的目标顶点之后,再搜索各个单元格的边界,也可以是并行执行的,例如,以当前单元格的目标顶点为起点搜索当前单元格的边界,得到当前单元格的位置信息,还可以得到当前单元格的相邻单元格的目标顶点。

例如,对于图3中所示的具有复杂单元格合并样式的表格,图4中示出了该表格中单元格的一种搜索过程。在图4中,每个数字代表了该单元格的单元格编号。可以从表格左上角(目标顶点的一种示例)开始向右(第一方向的一种示例)和向下(第二方向的一种示例)搜寻单元格边界,从而得到各个单元格的位置信息。

在进行单元格搜索时,当前单元格为图3中的1号单元格,搜索操作如下:以表格左上角作为搜寻单元格顶点向右搜寻白色像素,找到该单元格右边界,向下搜寻白色像素,找到该单元格下边界,由此得到1号单元格的位置信息;然后以1号单元格为基准向右和向下搜寻相邻单元格,即图4中的2号和6号单元格。

2号单元格的搜索顶点为该单元格的左上角向右下方偏移一段距离的点,可通过1号单元格的右上顶点坐标推断得到。重复以上单元格搜索步骤得到2号单元格的位置信息。同样地,遍历与1号单元格相邻的6号单元格,6号单元格的搜索顶点可通过1号单元格的左下顶点坐标推断得到。

需要说明的是,图4中的单元格编号只是为了描述方便所进行的标识,在搜索的过程中,服务器可以为搜索到的单元格进行编号,表格区域搜索完成之后,才能得到所有单元格的编号。

通过本实施例,通过确定各个单元格相同位置的顶点并以确定的顶点为起点确定单元格的位置信息,可以提高位置信息确定的便捷性。

在一个示例性实施例中,基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到各个单元格的目标顶点包括:

S21,基于区域边界和表格线,在表格区域内沿着目标方向搜索相邻单元格的目标顶点,得到各个单元格的目标顶点。

基于表格的特点,每个单元格的目标顶点至少可以在从其相邻的一个单元格的目标顶点为起点沿着目标方向进行搜索时被搜索到。服务器可以从一个单元格的目标顶点为起点,沿着目标方向进行搜索。如果搜索到区域边界,可以确定该单元格在目标方向上没有相邻单元格。如果搜索到表格线,可以确定该单元格在目标方向上有相邻单元格。

如果搜索到表格线,服务器可以沿着目标方向继续搜索,确定是否搜索到该单元格的相邻单元格的目标顶点,如果搜索到,则可以记录该相邻单元格的目标顶点,在搜索完所有单元格的相邻单元格的目标顶点之后,服务器可以获取到各个单元格的目标顶点。

通过本实施例,沿着目标方向搜索相邻单元格的顶点,可以降低搜索的复杂度,提高顶点搜索的效率。

在一个示例性实施例中,基于区域边界和表格线,在表格区域内沿着目标方向搜索相邻单元格的目标顶点,得到各个单元格的目标顶点包括:

S31,基于区域边界和表格线,以第一单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到第二单元格的目标顶点,其中,第一单元格为第一个搜索的单元格,第二单元格为第一单元格的相邻单元格;

S32,将第二单元格的目标顶点添加到搜索队列中;

S33,从搜索队列中依次提取单元格的目标顶点作为当前单元格的目标顶点执行以下步骤,直到搜索队列为空:基于区域边界和表格线,以当前单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到当前单元格的相邻单元格的目标顶点;在当前单元格的相邻单元格未被执行过相邻单元格的目标顶点的搜索操作的情况下,将当前单元格的相邻单元格的目标顶点添加到搜索队列中。

在搜索单元格的目标顶点时,服务器可以首先确定第一个搜索的单元格的目标顶点,即,第一单元格的目标顶点;然后,基于区域边界和表格线,以第一单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到第二单元格的目标顶点,并将第二单元的目标顶点格添加到搜索队列中。

第二单元格为在目标方向上与第一单元格相邻的单元格,目标方向包括第一方向和第二方向,则该第二单元格可以包括以下至少之一:在第一方向上与第一单元格相邻的单元格,在第二方向上与第一单元格相邻的单元格。

对于搜索队列中的单元格的目标顶点,服务器可以从搜索队列中依次提取单元格的目标顶点作为当前单元格的目标顶点,搜索当前单元格的相邻单元格的目标顶点,并将搜索到目标顶点的相邻单元格的目标顶点添加到搜索队列中,直到搜索队列为空。

在进行一次搜索时,服务器可以基于区域边界和表格线,以当前单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到当前单元格的相邻单元格的目标顶点。如果当前单元格的相邻单元格未被执行过相邻单元格的目标顶点的搜索操作,则可以将当前单元格的相邻单元格的目标顶点添加到搜索队列中。

例如,对于如图4所示的搜索过程,在搜索到2号单元格和6号单元格之后,可以将2号单元格和6号单元格(的搜索顶点,搜索顶点也就是目标顶点)添加到搜索队列中,还可以记录搜索顶点信息(即,已搜索过的搜索顶点的信息),避免重复搜索。

此时,搜索队列中存在2号单元格和6号单元格,重复相邻单元格的搜索步骤,依次搜索到2号单元格的右上方和左下方相邻单元格,分别是5号和3号单元格,搜索到6号单元格的右上方相邻单元格,即,7号单元格,添加到搜索队列中。由于搜索6号单元格的左下方相邻单元格时已到达表格框边界,所以停止搜索。

再以搜索队列中的5、3、7号单元格为基准,继续搜索它们的相邻单元格位置,坐标超出表格边框范围时停止。3号单元格左下方相邻的单元格是8号单元格,7号单元格右上方相邻的单元格也是8号单元格。由于搜索3号单元格时已将8号单元格加入到搜索队列中,所以在搜索7号单元格相邻的单元格的过程中再次搜索到8号单元格时,发现该单元格的搜索顶点已被访问,则跳过该单元格。

可选地,由于搜索时根据3号单元格坐标计算得到的8号单元格搜索顶点与根据7号单元格坐标计算得到的8号单元格搜索顶点坐标不一定完全一致,可以设置一定的误差冗余来判断它们是否是同一个顶点。

通过本实施例,通过搜索队列记录搜索到目标顶点、且未被搜索过的相邻单元格,可以提高单元格搜索的效率。

在一个示例性实施例中,基于区域边界和表格线,以当前单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到当前单元格的相邻单元格的目标顶点包括:

S41,以当前单元格的目标顶点为起点沿着目标方向搜索区域边界和表格线,搜索到目标边界上的参考点,其中,目标边界为当前单元格在目标方向上的边界;

S42,在目标边界不是区域边界的情况下,确定与当前单元格在目标方向上相邻的第三单元格中的候选顶点,其中,候选顶点为参考点沿着目标方向偏移目标距离得到的点;

S43,在候选顶点与第三单元格的单元格边界之间的距离小于或者等于目标距离阈值的情况下,将候选顶点确定为第三单元格的目标顶点。

在搜索相邻单元格的目标顶点时,可以以当前单元格的目标顶点为起点,沿着目标方向搜索当前单元格的边界,即,区域边界和表格线中的至少一个,搜索到的边界为目标边界。由于是从一个点沿着一个方向进行边界查找,因此,查找到的是目标边界上的一个点,也就是,目标边界上的参考点。

如果目标边界不是区域边界,则可以确定沿着目标方向有与当前单元格相邻的单元格,该相邻单元格为第三单元格。服务器可以确定上述参考点沿着目标方向偏移一定距离之后的点为第三单元格的候选顶点。对于搜索到的相邻单元格,服务器可以确定搜索到的所有相邻单元格的目标顶点。例如,如果是沿着第一方向搜索到的相邻单元格,服务器可以以该候选顶点为起点,向第二方向的反方向搜索,直到搜索到第三单元格的边界(即,区域边界和表格线中的至少一个)。然后将搜索到的边界点沿着第二方向偏移目标距离之后得到的点,确定为该第三单元格的目标顶点。

可选地,基于每个单元格的目标顶点至少可以在从其相邻的一个单元格的目标顶点为起点沿着目标方向进行搜索时被搜索到。为了降低单元格搜索的复杂度,可以仅在候选顶点为第三单元格的目标顶点时,将该第三单元格添加到搜索队列中。

服务器可以确定该候选顶点与第三单元格的单元格边界之间的距离,如果候选顶点与第三单元格的单元格边界之间的距离小于或者等于目标距离阈值,则可以将该候选顶点确定为第三单元格的目标顶点,并将第三单元的目标顶点格添加到搜索队列中;否则,忽略该第三单元格。可选地,目标距离阈值是预先配置的一个距离阈值,该距离阈值大于或者等于目标距离。

例如,如图4所示,在以一个单元格的顶点为起点向右、向下搜索相邻单元格的顶点时,确定搜索顶点前首先需要判断该顶点是否是单元格的内点。以4号单元格为例,搜索其右上相邻单元格的顶点为图4中的A点。A点并非真正的单元格起点,而是5号单元格的内点。在将该点加入搜索队列之前,需要确认该点向上一小段距离内是否有白色像素。若有,则说明该点附近上方有表格线,该点是一个新单元格的顶点,可加入搜索队列;若没有,则说明该点是单元格的内点,不可作为新单元格的搜索顶点,予以舍弃。

同理,搜索4号单元格的左下方顶点为图4中的B点,判断该点是否为内点时,需要确认该点左侧一小段距离内是否有白色像素,即表格线,若有,该点可添加至搜索队列,若没有,予以舍弃。在向上或者向左确认是否存在白色像素的过程中,遇到表格边框即停止,若向上或者向左遇到表格边框时仍旧没有白色像素存在,该点可添加进搜索队列中。

以此类推,重复上述步骤,单元格搜索得到位置信息之后将该单元格的搜索顶点从搜索队列中删除,搜索过程直到搜索队列为空时停止。上述描述的搜索方式可以用二叉树表示,一种示例性的搜索二叉树如图5所示假设表格的宽和高分别为M和N,上述表格中单元格结构识别方式的时间复杂度为O(M+N),空间复杂度为O(1)。在得到表格框的位置(表格边界)和表格线的基础上,上述单元格的搜索算法比基于轮廓的单元格搜索算法运行效率可以提升约一半。

通过本实施例,在将搜索到的相邻单元格的候选顶点添加到搜索队列中之前,判断该点是否是单元格的内点,并将非内点的候选顶点确定为搜索顶点,可以降低单元格搜索的复杂度,提高单元格搜索的效率。

在一个示例性实施例中,根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格包括:

S51,根据各个单元格的位置信息,确定出各个单元格的单元格尺寸、以及各个单元格的单元格尺寸中的最小单元格尺寸,其中,最小单元格尺寸为表格区域的最小单元格的尺寸;

S52,根据各个单元格的单元格尺寸和最小单元格尺寸,确定各个单元格的重构尺寸,其中,各个单元格的重构尺寸用于指示各个单元格在重构的表格中所占的最小单元格的数量;

S53,根据各个单元格的位置信息以及各个单元格的重构尺寸进行表格重构,得到与待重构文档对应的重构表格。

在根据各个单元格的位置信息进行表格重构时,服务器可以根据各个单元格的位置信息,确定出各个单元格的单元格尺寸。服务器还可以获取与待重构文档的表格区域对应的表格参数,该表格参数可以用于进行表格重构,可以是用于指示表格区域的最小单元格尺寸的参数,该最小单元格为表格区域的最小单元格的尺寸。

可选地,该表格参数可以是预先配置的。例如,服务器可以从配置信息中获取该表格参数,该表格参数为表格区域的最小单元格尺寸。基于获取到的表格参数,服务器可以确定出表格区域的最小单元格尺寸。

可选地,该表格参数也可以是在重构表格之前由用户输入的。服务器可以向目标客户端发送目标提示信息,该目标提示信息用于提示目标对象确定表格区域中的最小单元格;接收目标客户端返回的表格参数。该表格参数包括目标位置点的目标位置信息,该目标位置点为目标对象从表格区域中选取的、目标单元格内的位置点。该目标单元格可以是表格区域内的一个最小单元格。根据各个单元格的位置信息以及目标位置信息,服务器可以确定出目标单元格以及该目标单元格的单元格尺寸,进而将该目标单元格的单元格尺寸,确定为表格区域的最小单元格尺寸。

可选地,该表格参数包括目标对象输入的、目标单元格在第一表格方向(水平方向)上和第二表格方向(垂直方向)上所占用的最小单元格的数量。根据各个单元格的位置信息以及目标位置信息,服务器可以确定出目标单元格以及该目标单元格的单元格尺寸;根据目标单元格的单元格尺寸以及目标单元格在两个表格方向(第一表格方向和第二表格方向)上所占用的最小单元格的数量,确定出表格区域的最小单元格尺寸。

可选地,在本实施例中,该表格参数可以是服务器根据各个单元格的单元格尺寸确定的。服务器可以将各个单元格的单元格尺寸中最小的单元格尺寸,确定为表格区域的最小单元格尺寸。

根据各个单元格的单元格尺寸和最小单元格尺寸,服务器可以确定各个单元格的重构尺寸,各个单元格的重构尺寸用于指示各个单元格在重构的表格中所占的最小单元格的数量,即,在重构的表格的两个表格方向上所占的单元格的数量。

根据各个单元格的位置信息(即,各个单元格的相对位置关系)以及各个单元格的重构尺寸,服务器可以进行表格重构,从而得到与待重构文档对应的重构表格。

例如,在得到单元格的位置信息之后,可以重构表格。统计所有单元格的宽和高,记最小的宽为w,最小的高为h,w*h为重构后的最小单元尺寸。所有单元格的宽除以w,高除以h,得到所有单元格的重构单元尺寸,如3*2代表重构后该单元格水平方向占三个最小单元宽,垂直方向占两个最小单元高。结合单元格的位置信息,可以重构表格结构。

需要说明的是,如果单元格的单元格尺寸与最小单元单元格尺寸的比例不为整数,可以采用向下取整、向上取整、或者四舍五入等方式确定各个单元格的重构尺寸。确定重构尺寸的方式可以根据需要进行配置,本实施例中对此不做限定。

通过本实施例,根据各个单元格的单元格尺寸之间的比例关系确定各个单元格的重构尺寸,进而基于各个单元格的重构尺寸进行表格重构,无需用户进行单元格配置即可完成表格重构,提高了表格重构的便捷性。

在一个示例性实施例中,根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格包括:

S61,根据各个单元格的搜索顺序以及各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。

在进行表格重构时,服务器可以从一个顶点触发,按照预定的重构方向进行表格重构,上述重构方向可以有多种,例如,先自左向右、再自上向下的方向,即,左上角出发,先自左向右重构表格中的单元格,重构好一排单元格之后,再自左向右重构下一排单元格,又例如,先自上向下、再自左向右的方向,还可以是其他类似的方向。上述按照预定的重构方向进行表格重构的方式,需要按照各个单元格的位置信息查找当前位置需要重构的单元格,表格重构的复杂度高。

可选地,在本实施例中,服务器可以根据各个单元格的搜索顺序以及各个单元格的位置信息进行表格重构,例如,服务器可以首先根据各个单元格的位置信息确定出各个单元格的重构尺寸;然后,根据各个单元格的搜索顺序,依次进行单元格重构。由于在进行单元格搜索时,服务器可以记录单元格之间的相邻关系,从而可以根据单元格的重构尺寸、单元格的搜索顺序以及单元格之间的相邻关系,重构出与待重构文档对应的表格。

例如,对于如图5所示的搜索二叉树,在进行表格重构时,服务器可以按照单元格解析时的搜索顺序进行单元格重构,单元格重构的顺序可以是:1-2-3-4-8-11-5-9-12-6-7-10。

通过本实施例,按照单元格解析时的搜索顺序进行单元格重构,可以降低表格的重构成本,提高表格的重构效率。

下面结合可选示例对本申请实施例中的表格的重构方法进行解释说明。待重构文档为待重构图像,搜索顶点(即,目标顶点)为左上角的顶点,第一方向为向右,第二方向为向下。

本可选示例中的表格的重构方法可以是一种依据表格线进行表格重构的方案,将表格结构转化为二叉树形式进行遍历与解析,以降低表格重构算法的时间和空间复杂度,提高算法的运行效率。

结合图6所示,本可选示例中的表格的重构方法的流程可以包括以下步骤:

步骤S602,输入图像。

用户可以通过客户端输入待重构图像,服务器可以获取用户输入的待重构图像。

步骤S604,表格检测。

服务器可以对待重构图像进行表格线检测,得到待重构图像中的表格区域以及表格线,可以表示为如图3所示的黑底白线的形式。

步骤S606,表格识别。

基于表格线,服务器可以进行表格结构识别。将表格结构转化为二叉树进行检索与分析:从表格左上角(1号单元格的搜索顶点)开始向右和向下搜寻单元格边界,得到图3中的1号单元格;然后以1号单元格的搜索顶点为基准向右和向下搜寻相邻单元格,得到2号和6号单元格,将2号和6号单元格的搜索顶点添加到搜索队列中。从搜索队列中读取单元格的搜索顶点,以其为基准继续向右和向下搜寻相邻单元格,搜索到的未被访问过的搜索顶点添加到搜索队列中。在搜索的过程中,忽略搜索到的单元格内点。重复执行上述步骤,直到搜索队列为空。

步骤S608,表格重构。

搜索队列为空之后,可以得到所有单元格的位置信息。得到单元格的位置信息后,服务器可以进行表格重构,重构出表格的结构以及各个单元格中的文本内容。

步骤S610,结果输出。

在重构出表格之后,服务器可以将该表格输出到客户端上进行保存,还可以在客户端上进行显示,根据用户的指示进行保存。

通过本可选示例,将表格结构转化为二叉树数据结构进行处理,降低了表格重构的时间和空间复杂度,提高了表格重构的运行效率,可以很好的支持表格左右两侧边框少线以及存在复杂合并单元格样式的情况。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

根据本申请实施例的另一个方面,还提供了一种用于实施上述表格的重构方法的表格的重构装置。图7是根据本申请实施例的一种可选的表格的重构装置的结构框图,如图7所示,该装置可以包括:

检测单元702,用于对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;

搜索单元704,与检测单元702相连,用于基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;

重构单元706,与搜索单元704相连,用于根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。

需要说明的是,该实施例中的检测单元702可以用于执行上述步骤S202,该实施例中的搜索单元704可以用于执行上述步骤S204,该实施例中的重构单元706可以用于执行上述步骤S206。

通过上述模块,对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格,解决了相关技术中依据表格线进行表格重构的方式存在的计算复杂度高、表格重构效率低的问题,降低了算法的计算复杂度,提高了表格重构效率。

在一个示例性实施例中,搜索单元包括:

第一搜索模块,用于基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到各个单元格的目标顶点,其中,各个单元格的目标顶点在各个单元格中的相对位置是相同的;

第二搜索模块,用于基于区域边界和表格线,以各个单元格的目标顶点为起点在表格区域内沿着目标方向进行单元格边界搜索,得到各个单元格的位置信息。

在一个示例性实施例中,第一搜索模块包括:

搜索子模块,用于基于区域边界和表格线,在表格区域内沿着目标方向搜索相邻单元格的目标顶点,得到各个单元格的目标顶点。

在一个示例性实施例中,搜索子模块包括:

搜索子单元,用于基于区域边界和表格线,以第一单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到第二单元格的目标顶点,其中,第一单元格为第一个搜索的单元格,第二单元格为第一单元格的相邻单元格;

添加子单元,用于将第二单元格的目标顶点添加到搜索队列中;

执行子单元,用于从搜索队列中依次提取单元格的目标顶点作为当前单元格的目标顶点执行以下步骤,直到搜索队列为空:基于区域边界和表格线,以当前单元格的目标顶点为起点沿着目标方向搜索相邻单元格的目标顶点,得到当前单元格的相邻单元格的目标顶点;在当前单元格的相邻单元格未被执行过相邻单元格的目标顶点的搜索操作的情况下,将当前单元格的相邻单元格的目标顶点添加到搜索队列中。

在一个示例性实施例中,执行子单元包括:

搜索次子单元,用于以当前单元格的目标顶点为起点沿着目标方向搜索区域边界和表格线,搜索到目标边界上的参考点,其中,目标边界为当前单元格在目标方向上的边界;

第一确定次子单元,用于在目标边界不是区域边界的情况下,确定与当前单元格在目标方向上相邻的第三单元格中的候选顶点,其中,候选顶点为参考点沿着目标方向偏移目标距离得到的点;

第二确定次子单元,用于在候选顶点与第三单元格的单元格边界之间的距离小于或者等于目标距离阈值的情况下,将候选顶点确定为第三单元格的目标顶点。

在一个示例性实施例中,重构单元包括:

第一确定模块,用于根据各个单元格的位置信息,确定出各个单元格的单元格尺寸、以及各个单元格的单元格尺寸中的最小单元格尺寸,其中,最小单元格尺寸为表格区域的最小单元格的尺寸;

第二确定模块,用于根据各个单元格的单元格尺寸和最小单元格尺寸,确定各个单元格的重构尺寸,其中,各个单元格的重构尺寸用于指示各个单元格在重构的表格中所占的最小单元格的数量;

第一重构模块,用于根据各个单元格的位置信息以及各个单元格的重构尺寸进行表格重构,得到与待重构文档对应的重构表格。

在一个示例性实施例中,重构单元包括:

第二重构模块,用于重构根据各个单元格的搜索顺序以及各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。

此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

根据本申请实施例的又一个方面,还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行本申请实施例中上述任一项表格的重构方法的程序代码。

可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

S1,对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;

S2,基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;

S3,根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例中对此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

根据本申请实施例的又一个方面,还提供了一种用于实施上述表格的重构方法的电子装置,该电子装置可以是服务器、终端、或者其组合。

图8是根据本申请实施例的一种可选的电子装置的结构框图,如图8所示,包括处理器802、通信接口804、存储器806和通信总线808,其中,处理器802、通信接口804和存储器806通过通信总线808完成相互间的通信,其中,

存储器806,用于存储计算机程序;

处理器802,用于执行存储器806上所存放的计算机程序时,实现如下步骤:

S1,对待重构文档进行表格检测,得到待重构文档中的表格区域的区域边界、以及表格区域内的表格线;

S2,基于区域边界和表格线,在表格区域内沿着目标方向进行单元格搜索,得到表格区域内的各个单元格的位置信息,其中,目标方向包括与表格区域的目标区域边界平行的第一方向、以及与目标区域边界垂直的第二方向;

S3,根据各个单元格的位置信息进行表格重构,得到与待重构文档对应的重构表格。

可选地,在本实施例中,通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线、或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子装置与其他设备之间的通信。

存储器可以包括RAM,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。

作为一种示例,上述存储器806中可以但不限于包括上述表格的重构装置中的检测单元702、搜索单元704、以及重构单元706。此外,还可以包括但不限于上述表格的重构装置中的其他模块单元,本示例中不再赘述。

上述处理器可以是通用处理器,可以包含但不限于:CPU(Central ProcessingUnit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(Application Specific IntegratedCircuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

本领域普通技术人员可以理解,图8所示的结构仅为示意,实施上述表格的重构方法的设备可以是终端设备,该终端设备可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示的不同的配置。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、ROM、RAM、磁盘或光盘等。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

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

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

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

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

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:表单的生成方法及装置、电子设备、存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!