表格图像提取 |
您所在的位置:网站首页 › 如何提取图片表格内容 › 表格图像提取 |
本文应用传统交点方法来提取框线表格,主要是针对存在合并单元格的表格,并用tesseract-ocr来做了文字识别,主要难点是前者的提取部分,现将部分方法分享给大家。 建议各位可以先去看其他博主针对简单表格的提取方法,再来看这篇,因为我省略了很多内容,主要讲方法,不建议之前完全没了解过的朋友来看,推荐一篇: python-opencv表格识别_我想问问天的博客-CSDN博客_opencv 表格识别 本人第一次发文章,该表格结构提取只提供思路,不涉及代码,如有不到位的地方,还望指出。 一、表格提取的难点 1.合并单元格我查看了许多发表在csdn上的博文,传统方法就是利用框线相交,获得交点以此来提取单元格,但是大多数都是针对简单的表格,在实际的办公场景中,我们更多的遇见存在合并单元格的复杂表如下图,那么就需要一套复杂的方法提取。 图像的预处理是至关重要的一步,必须要减少图像中存在的各类干扰,目的是将能够准确提取交点,整个提取过程,都是依照交点坐标进行的,图像预处理可参考其他博主的,一般情况需要进行图像二值化、灰度化、去噪、锐化等处理...... 举个例子:存在某些图像,其框线的交接部分并没有连接,不能提取出交点,那就可以利用Opencv库中的方法,将检测出来的框线延长一些,使得能得到交点,如下图。 ![]() ![]() 因为图像处理部分至关重要,将影响之后的表格结构提取和文字识别,所以需要各位不断去调试,以达到理想效果,我认为这也是传统方法的局限性,所以当前热门的都是用深度学习的方法。 二、表格提取过程图像预处理完成后,就来到了本文章的主要内容——提取表格结构 整个提取过程分为两步: 1.交点分类 2.依据交点类别进行表格提取 1.交点分类这是一张原始图片,存在合并单元格的情况,因为这篇文章重要讲述方法,不讲太多图像处理过程,所以使用了清晰度高的图像,但是必须要强调图像预处理的重要性。 (1)经过二值化、灰度化之后 (2)提取横线和竖线,经过腐蚀膨胀,故线条比原图要长一些 (3)将横线和竖线叠加,目的是获得交点 (4)经过叠加,则获取了交点,标记为黑点 (5)进行交点分类,首先标识出代表每个单元格的标志点,例如下图单元格中,p1点则为标志点,即代表当前单元格。 ![]() 以上述信息,即可将图中交点进行初次分类,其中标志点为红色点: 当前分类远远不够,仍不能将表格单元格很好提取,需要再次进行分类,保留红色点,以及表格最下和最右上的点的颜色,其余点设为绿色,如图: (6)按照不同颜色类型的交点,设计一套方法,即可将每个单元的区域位置得到。 (7)接下来的步骤就是将截取的各个单元格保存在文件夹中,记录单元格位置信息,为之后的表格结构还原和文字识别做准备。 3.实际演示![]() ![]() ![]() ![]() ![]() |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |