文档图像中的无边框表格解析技术制造技术

技术编号:22467618 阅读:42 留言:0更新日期:2019-11-06 11:26
本发明专利技术涉及一种文档图像中的无边框表格解析方法,所述方法包括步骤:识别出无边框表格区域部分;将所述位置范围内的文本进行合并;根据无边框表格区域和区域内文本相关数据,将文本块进行分行,并获取每一行的文本块数量,将区域中含有最多文本块的行提取出来,并根据顺序切分为列,并根据每列的文本块位置信息获取列的取值范围;计算获取当前列文本块横轴位置数值的最大值、最小值、方差、变动范围、25到75百分位的变动范围。根据上述计算得到的数据判断列中文本的对齐类型;对第一列的左边界值设为0,依次将其右边的所有列的横轴位置坐标相对第一列进行修正,同时进行横向和纵向单元格合并的情况判定和处理。

Analysis technology of borderless table in document image

【技术实现步骤摘要】
文档图像中的无边框表格解析技术
本专利技术涉及数据处理
,特别涉及一种文档图像中无边框表格解析方法
技术介绍
随着电脑的不断普及,无纸化办公得到越来越多的应用,各种各样的文档也大量的出现在用户的面前。以可移植文档格式(PortableDocumentFormat,PDF)、office文档为例,PDF文件格式以其卓越的特性成为在Internet上进行电子文档发行和格式化信息传播的理想文件格式,在将PDF格式的文档转换office格式的文档时,面临较多的困难。譬如PDF格式文档中的表象为表格的对象,在其内部是由很多彼此无任何逻辑关系的线条或多边形组成的。在将PDF转换为其他格式的文档,特别转换为office类的文档时,由于PDF没有表格元素,很难跟office类文档兼容,使转换出的文档的排版、及编辑效果都很差。在将诸如PDF格式文档等原文档中的表格转换为其他文档格式的表格时,如何提高转换出的文档的排版及编辑效果,是文档应用领域研究的方向之一。
技术实现思路
一种文档图像中的无边框表格解析方法,包括以下步骤利用预先得到的页面中元素位置信息,检测出无边框表格的潜在区域;利用预先得到的页面中文本及其位置信息,对文本进行行内,行之间的合并与标记;检测标记结果,针对标记类型,将相邻的文本行合并为文本行块;针对所有合并后的文本行块,尝试对其合并得到无边框表格在页面中的高度值范围;附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图做简单的介绍,应当理解,以下附图仅展示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图图1为本专利技术所述的文档图像中无边框表格的解析方法的流程图图2为实施例中包含无边框表格的原始文档图像图3为文档图像经过切分后输出的状态图图4为文档图像中文本元素合并为text_obj后输出的状态图图5为增加multi_text_line标记后输出的状态图图6为合并multi_text_line为multi_text_line_block后输出的状态图图7为识别出的无边框表格区域在页面文档中的区域结果状态图具体实施方式利用预先处理得到的页面图片内有边框表格、图片、页眉页脚三种元素在页面中位置信息,将页面按照y轴(高度值)分割得到无边框表格潜在区域(part_list),分割后的各部分不再包含上述三种元素,分割后得到的潜在区域如图3所示,本例中文档图像不包含图片、页眉页脚和有边框表格,所以图3中两条水平红线间区域即为潜在区域。利用预先得到的页面图片内所有的文本位置坐标数据,将各文本元素合并为文本块(text_obj),过程如下:将所有文本元素按照part_list中的页面高度值范围进行过滤,过滤掉不在潜在区域内的所有文本元素;将所有文本元素的高度值四舍五入后按照从大到小进行排序,针对相同高度值(同一行)的每一个文本元素,若文本元素与其左边相邻的文本元素间的x轴上的距离小于一定值(例如3),则将该文本元素与其左边相邻的文本元素合并为一个text_obj,合并方式如下:两文本元素的文本内容进行拼接;合并后的text_obj的宽度为合并前两文本元素的文本宽度与两文本元素x轴上的间隔之和;实施例合并结果如图4所示,每个绿色框格即为一个text_obj利用合并后的text_obj数据,将其按照在页面中的高度值从大到小进行排序针对高度值相同的text_obj,将其放入同一数据下(text_line)针对每个潜在区域,将text_line按照在页面中的高度值从大到小排序,遍历每一个text_line,若其与相邻的text_line中的text_obj数量都大于等于3,且text_line中不包含含有关键字的text_obj,则增加标记multi_text_line若text_line中包含含有关键字的text_obj,则将text_line标记为not_tablemulti_text_line标记结果如图5所示,每个蓝色框格代表一个被标记为multi_text_line的text_line将所有标记为multi_text_line的text-line按照在页面中的高度值从大到小进行排序,如果两相邻text_line在y轴上连续,则将两个text_line合并为multi_text_line_block,仅做从属关系合并,不做数据合并text_line在y轴上连续的判断标准:y值较大的text_line的y值减去其自身的高度值(h)等于y值较小的text_line的y值multi_text_line_block的合并结果如图6所示,每个紫色框格代表一个multi_text_line_block,褐色框格为两相邻multi_text_line_block间的未标记text_line针对每个潜在区域的multi_text_line_block,如果相邻两multi_text_line_block间的text_line全部同时符合以下条件:text_line的标记不为not_table;text_line中最右边的text_obj不以句号结尾text_line中的text_obj与上下两multi_text_line_block中的每一个text_line的所有text_obj,在x轴上最多只能有一次重叠则将两multi_text_line_block与其中间的所有text_line进行合并,仅做从属关系合并,不做数据合并针对所有的multi_text_line_block,计算其在页面内的高度值范围,汇总所有范围数据,得到页面内的无边框表格区域最终的合并结果如图7所示,图7中橘黄色水平线即为本实施例中识别出的无边框表格区域根据获取到的文边框表格区域数据、multi_text_line_block和text_obj进行以下处理:1.获取multi_text_line_block内每一行的text_obj的个数,其最大值为max_row_obj_num2.找到text_obj个数为max_row_obj_num的row,得到这些row里的text_obj3.此时默认这些text_obj内无合并单元格,并且根据text_obj在其所在行内的排序来设置col_index,即属于列的信息4.这样得到初始的每一列的x,x_max的范围(x的最小值,x_max的最大值),以及每一列的x,x_max,x_middle的方差,值变动范围,以及按照大小排,25%~75%区域值的变动范围5.根据第4步得到的数据,判断每一列的居中,居右,居左情况以及每一列之间的中间区域的中间线的值mid_lines具体算法:1.如果方差小于1,则判定此列的文本块宽度都相同,等同于Equal2.根据方差最小的类型以及25%~75%区域值的变动范围的最小的类型来判断:1.如果方差最小的类型与25%~75%区域值的变动范围的最小的类型相同:如果最小的是x,那么是居左的(left)如果最小的是x_max,那么是居右的(center)如果最小的是x_middle,那么是居中的(center)2.如果方差最小的是x_middle,25%~75%区本文档来自技高网...

【技术保护点】
1.一种文档图像中的无边框表格解析方法,其特征在于,包括以下步骤:(1)利用预先得到的页面中元素位置信息,检测出无边框表格的潜在区域;(2)利用预先得到的页面中文本及其位置信息,对文本进行行内,行之间的合并与标记;(3)检测标记结果,针对标记类型,将相邻的文本行合并为文本行块;(4)针对所有合并后的文本行块,尝试对其合并得到无边框表格在页面中的高度值范围;(5)确定无边框表格区域;(6)利用上述的无边框表格区域数据、文本行数据、文本块数据,获取无边框表格区域内文本行所能包含的文本块的最大数量;(7)根据上述数据将无边框表格区域切分为列,并通过列内的文本块位置信息计算得到每列的横轴位置范围、列宽、列内文本横轴位置数据方差、列内文本横轴位置数据25到75百分位差值;(8)利用上述计算结果,判断每列文本的对齐类型,同时获取相邻两列间空白区域的横向中线值;(9)将无边框表格区域内第一列的横向左边界位置值设为0,并将其余每列相对前一列的横轴位置数据根绝两列的文本对齐类型进行位置修正,根据每列及其右相邻列的横向位置数据、上述获取的相邻列间空白区域中线值和每列及其右相邻列的对齐类型,计算待定跨列区域值,同时与同行的文本块位置数据进行比对,判断是否为横向合并单元格;(10)针对每一行文本,根据行内所有的文本块位置数据对文本行的纵向位置数据进行统一,同时进行纵向合并单元格的判断与处理。...

【技术特征摘要】
1.一种文档图像中的无边框表格解析方法,其特征在于,包括以下步骤:(1)利用预先得到的页面中元素位置信息,检测出无边框表格的潜在区域;(2)利用预先得到的页面中文本及其位置信息,对文本进行行内,行之间的合并与标记;(3)检测标记结果,针对标记类型,将相邻的文本行合并为文本行块;(4)针对所有合并后的文本行块,尝试对其合并得到无边框表格在页面中的高度值范围;(5)确定无边框表格区域;(6)利用上述的无边框表格区域数据、文本行数据、文本块数据,获取无边框表格区域内文本行所能包含的文本块的最大数量;(7)根据上述数据将无边框表格区域切分为列,并通过列内的文本块位置信息计算得到每列的横轴位置范围、列宽、列内文本横轴位置数据方差、列内文本横轴位置数据25到75百分位差值;(8)利用上述计算结果,判断每列文本的对齐类型,同时获取相邻两列间空白区域的横向中线值;(9)将无边框表格区域内第一列的横向左边界位置值设为0,并将其余每列相对前一列的横轴位置数据根绝两列的文本对齐类型进行位置修正,根据每列及其右相邻列的横向位置数据、上述获取的相邻列间空白区域中线值和每列及其右相邻列的对齐类型,计算待定跨列区域值,同时与同行的文本块位置数据进行比对,判断是否为横向合并单元格;(10)针对每一行文本,根据行内所有的文本块位置数据对文本行的纵向位置数据进行统一,同时进行纵向合并单元格的判断与处理。2.根据权利要求1所述的方法,其特征在于,利用预先得到的页面中文本及其位置信息,对文本进行行内,行之间的合并与标记的步骤包括:(1)针对页面中的每一行(文本高度值差值小于一定值),将每个文本元素合并为文本块;(2)检测合并后相邻文本行其所包含的文本块数量并进行标记。3.根据权利要求2所述的方法,其特征在于,针对页面中的每一行(文本高度值取整后相等),将每个文本元素合并为文本块的步骤包括:针对同一高度值的每个文本元素,若其本身与相邻的文本元素在x轴上的距离小于一定值,则将其合并为一个文本块,同一行文本因无边框表格的存在,可能出现多个文本块。4.根据权利要求2所述的方法,其特征在于,检测合并后相邻文本行其所包含的文本块数量并进行标记的步骤包括:针...

【专利技术属性】
技术研发人员:徐茂龙杨鸿健程晨
申请(专利权)人:南京智录信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1