一种文本文件表格的通用检测分析及识别方法与流程

文档序号:21183957发布日期:2020-06-20 17:59阅读:185来源:国知局
本发明属于数据处理
技术领域
:,具体涉及一种文本文件表格的通用检测分析及识别方法。
背景技术
::人们在日常的生活和工作中,通常存在很多类型的表格需要填写。在大数据技术广泛应用的今天,各种表格信息都需要输入到计算机整理,归类和分析。为了减轻人力的成本和减少劳动人员千篇一律的重复性工作,代替人工的表格自动识别系统的研究具有很重要的意义。同时,准确性是表格识别系统的基本要求,只有准确的识别表格中各类有效信息,才能产生真正的社会效益,实现其研究的价值。表格文档在快递单、银行金融票据、材料预算清单、企业招聘登记、财务核算等众多业务场景中都具有某种特殊格式。其复杂多样的格式对表格特征的提取造成了一定的影响,加大了识别难度。如果不能准确应对表格复杂多样的格式问题,会导致表格特征提取不完整,进而会给后续的字符识别过程造成很大的影响,如乱码,逻辑混乱等。因此,包含复杂表格文本文件识别的关键在于文档检测方法是否能够完整提取复杂表格的特征。目前,传统的表格文档检测方法主要通过图像卷积、形态学等数字图像处理技术提取表格特征。其弊端显而易见,对于表格线不完整、文档背景复杂的文档图像没有很好的检测效果。而我们提供的这种方法很受直线断裂的影响,对于表格线不清晰、涂改、部分缺失等异常下,往往存在区域漏检或者错检,破环了表格的完整性。技术实现要素:本发明公开了一种文本文件表格的通用检测分析及识别方法,以解决现有技术的上述以及其他潜在问题中任一问题。为了达到上述目的,一种文本文件表格的通用检测分析及识别方法,具体包括以下步骤:s1)采集待检测文本文件表格的数据信息,并进行预处理;s2)对经s1)处理后数据信息分析处理,获得表格横线集合rows;s3)对s2)得到表格横线集合rows进行分析处理,可获得表格图像所有矩形区域块tables;s4)根据获得表格图像所有矩形区域块,实现文本文件表格的通用检测分析及识别。进一步,所述s1)中的预处理的具体步骤为:s1.1)将待检测文本文件表格的图像信息输入,采集文本文件表格图像中横线和竖线的信息;s1.2)根据采集图像中横线和竖线的信息,获得待检测文本文件表格的横线图和竖线图,备用;进一步,所述s1.1)中采集文本文件表格图像中横线和竖线的信息的方式为:二值化、图像卷积或形态学。进一步,所述s2)的具体步骤为:s2.1)对s1.2)得到的待检测文本文件表格的横线图进行hough直线检测,获得线段集lines,公式如下:lines=[s1,s2,…,sm]其中,m为检测到线段个数,si=(xi0,yi0,xi1,yi1),i∈[1,m]为第i个线段,xi0为线段左端点横坐标,yi0为左端点纵坐标,xi1为右端点横坐标,yi1为右端点纵坐标;s2.2)对线段集lines中所有线段以左端点纵坐标取值分为k个组,k≤m,纵坐标临近的归为一组,所述纵坐标临近的归为一组即纵坐标相差p个像素点之内的归为一组。(图像坐标一般以像素点为单位,k≤m,p为允许坐标最大偏差距离,通常p≤10;);s2.3)先以同组线段左右端点纵坐标取值设置相同为yk,k∈[1,k];再以横坐标升序方式进行排序,统计同组线段一维并集长度l,如果l>α*w(α∈(0,1),1-α为允许表格横线缺失比例的最大程度,w为输入表格文档图像的宽度),则记录yk;如果l≤α*w,则不记录,执行计算下一组线段一维并集长度,最终可获得表格横线集合rows,rows=[(0,y1,w,y1),(0,y2,w,y2),…,(0,yn,w,yn)]其中,n为表格横线个数,n≤k。进一步,所述s3)的具体步骤为:s3.1)根据s2.3)得到的表格横线集合rows进行分析,得到横线之间表格竖线横坐标集合cols,cols[j]=[0,xj1,xj2,…xjr,w],r≥0;s3.2)将表格横线集合rows和横线之间表格竖线横坐标集合cols组合,即获得表格图像所有矩形区域块tables,tables=[(0,y1,x11,y2),(x11,y1,x12,y2),…,(x(n-1)r,yn-1,w,yn)],其中,r为竖线横坐标临近取值设置相同可获得不同的横坐标值的个数,0≤r≤r,xi0=0,r为检测到的竖线个数。进一步,所述s3.1)中的分析方法为:对表格横线集合rows中的vertical竖线图rows[j]和rows[j+1]之间部分进行直线检测,若检测结果不为空,即竖线存在,横坐标临近取值设置相同,得到第j个和第j+1个表格横线之间表格竖线横坐标集合,包含输入图像边界0和w,表示如下:cols[j]=[0,xj1,xj2,…xjr,w],r≥0;若检测结果为空,即竖线不存在,则令cols[j]=[0,w]。进一步,所述矩形区域块中的每个元素均由两个点的横纵坐标构成,这两个点对应矩形区域的左上角点和右下角点。一种实现上述的文本文件表格的通用检测分析及识别方法的计算机程序。一种实现上述的文本文件表格的通用检测分析及识别方法的信息处理终端。一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的文本文件表格的通用检测分析及识别方法。本发明的有益效果是:由于采用上述技术方案,该方法利用表格线交点分析法通过对表格线交点的分析、匹配,构建出原表格中所有的矩形区域。其弊端显而易见,对于表格线不完整、文档背景复杂的文档图像没有很好的检测效果。而我们提供的这种表格切分技术对于无论表格线是否完整以及其它干扰因素的情景下都具备很好的检测效果。附图说明图1为本发明一种文本文件表格的通用检测分析及识别方法的流程框图。图2为表格线完整的文档图像。图3为表格线缺失的文档图像。图4为采用表格线交点分析法检测效果的图像。图5为采用本发明方法检测分析及识别后的表格效果的图像。图6为采用表格线交点分析法检测效果的图像。图7为采用本发明方法检测分析及识别后的表格效果的图像。图8为采用本发明方法采集的horizontal(横线图)的图像。图9为采用本发明方法采集的vertical竖线图的图像。图10为实施例的表格横线图(n个)。图11为实施例的第3个横线与第4个横线之间的竖线图。图12为实施例的第3个横线与第4个横线之间的表格矩形区域的元素示意图。具体实施方式下文将结合具体附图详细描述本发明具体实施例。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。如图1所示,本发明一种文本文件表格的通用检测分析及识别方法,具体包括以下步骤:s1)采集待检测文本文件表格的数据信息,并进行预处理;s2)对经s1)处理后数据信息分析处理,获得表格横线集合rows;s3)对s2)得到表格横线集合rows进行分析处理,可获得表格图像所有矩形区域块tables;s4)根据获得表格图像所有矩形区域块,实现文本文件表格的通用检测分析及识别。所述s1)中的预处理的具体工艺为:s1.1)将待检测文本文件表格的图像信息输入,采集文本文件表格图像中横线和竖线的信息;s1.2)根据采集横线和竖线的信息,获得待检测文本文件表格的横线图和竖线图,备用;所述s1.1)中采集文本文件表格图像中横线和竖线的信息的方式为:二值化、图像卷积或形态学。所述s2)的具体步骤为:s2.1)对s1.2)得到的待检测文本文件表格的横线图进行直线检测(hough),获得线段集lines,公式如下:lines=[s1,s2,…,sm]其中,m为检测到线段个数,si=(xi0,yi0,xi1,yi1),i∈[1,m]为第i个线段,xi0为线段左端点横坐标,yi0为左端点纵坐标,xi1为右端点横坐标,yi1为右端点纵坐标;s2.2)对线段集lines中所有线段以左端点纵坐标取值分为k个组,k≤m,纵坐标临近的归为一组,s2.3)先以同组线段左右端点纵坐标取值设置相同为yk,k∈[1,k];再以横坐标升序方式进行排序,统计同组线段一维并集长度l,如果l>α*w(α∈(0,1),1-α为允许表格横线缺失比例的最大程度,w为输入表格文档图像的宽度),则记录yk;如果l≤α*w,则不记录,执行计算下一组线段一维并集长度,最终可获得表格横线集合rows,rows=[(0,y1,w,y1),(0,y2,w,y2),…,(0,yn,w,yn)]其中,n为表格横线个数,n≤k。所述s3)的具体步骤为:s3.1)根据s2.3)得到的表格横线集合rows进行分析,得到横线之间表格竖线横坐标集合cols,cols[j]=[0,xj1,xj2,…xjr,w],r≥0;s3.2)将表格横线集合rows和横线之间表格竖线横坐标集合cols组合,即获得表格图像所有矩形区域块tables,tables=[(0,y1,x11,y2),(x11,y1,x12,y2),…,(x(n-1)r,yn-1,w,yn)],其中,r≥0,xi0=0,所述s3.1)中的分析方法为:对表格横线集合rows中的vertical竖线图rows[j]和rows[j+1]之间部分进行直线检测(lsd),若检测结果不为空,即竖线存在,横坐标临近取值设置相同,得到第j个和第j+1个表格横线之间表格竖线横坐标集合,包含输入图像边界0和w,表示如下:cols[j]=[0,xj1,xj2,…xjr,w],r≥0;若检测结果为空,即竖线不存在,则令:cols[j]=[0,w]。所述矩形区域块中的每个元素均由两个点的横纵坐标构成,这两个点对应矩形区域的左上角点和右下角点。一种实现上述的文本文件表格的通用检测分析及识别方法的计算机程序。一种实现上述的文本文件表格的通用检测分析及识别方法的信息处理终端。一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述的文本文件表格的通用检测分析及识别方法。实施例:利用表格线交点分析法和我们的表格切分技术分别对图1进行检测,检测结果如图3和图4所示,可以看到,两种方法都很好的检测出表格全部矩形区域。说明,对于表格线完整的文档图像,两种方法都有很好的检测效果。然而对于图2所示的表格线缺失的文档图像,表格线交点分析法的检测效果如图5所示,可以看到,部分矩形区域并没有被检测出来,但我们的表格切分技术还是能够完整地提取表格矩形区域(如图6所示)。说明在表格线不完整地文档图像中,本方法的表格切分技术具有较大地优越性。运用二值化、图像卷积、形态学等方法检测对图2中的横线和竖线进行处理,获得图8horizontal(横线图)和图9vertical(竖线图);对图8进行hough直线检测,获得线段集lines,共19条线段,lines=[(247,524,664,524),(164,418,263,418),…,(308,351,364,351)]对lines所有线段以左端点纵坐标取值大小进行分组,纵坐标相差6个像素点之内的归为一组(图像坐标以像素点为单位),可分为9组。同组线段一方面左右端点纵坐标取值设置相同为yk,另一方面以横坐标升序方式进行排序;统计同组线段一维并集长度l,如果l>0.4*w(w为输入表格文档图像的宽度,此例中w=738),则记录yk,最终可获得包含8个(n=8)表格横线的集合,如图10所示,判断rows横线之间是否存在竖线,例如,对vertical竖线图rows[3]和rows[4]之间部分进行lsd直线检测,横坐标临近取值设置相同,可得cols[3]=[0,84,387,559,662,738],如图11所示。根据rows[3]、rows[4]、cols[3]信息即可获得表格图像表格线第三行和第四行所有矩形区域块的元素tables,如图12所示。其每个元素由两个点的横纵坐标构成,这两个点对应矩形区域的左上角点和右下角。根据所有tables元素坐标分别提取表格矩形区域,如图6所示。以上对本申请实施例所提供的一种文本文件表格的通用检测分析及识别方法,进行了详细介绍。以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。如在说明书及权利要求书当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求书当中所提及的“包含”、“包括”为一开放式用语,故应解释成“包含/包括但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求书所界定者为准。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。上述说明示出并描述了本申请的若干优选实施例,但如前所述,应当理解本申请并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述申请构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本申请的精神和范围,则都应在本申请所附权利要求书的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1