当前位置:首页 > 科技  > 软件

使用Python从图像中提取表格

来源: 责编: 时间:2023-11-15 17:17:17 367观看
导读大约一年前,我被分配任务从文件中提取和结构化数据,主要是包含在表格中的数据。我之前对计算机视觉没有了解,并且很难找到一个合适的“即插即用”的解决方案。当时可选的方案要么是基于最新神经网络(NN)的解决方案,这些解决

大约一年前,我被分配任务从文件中提取和结构化数据,主要是包含在表格中的数据。我之前对计算机视觉没有了解,并且很难找到一个合适的“即插即用”的解决方案。当时可选的方案要么是基于最新神经网络(NN)的解决方案,这些解决方案庞大而繁琐,要么是基于OpenCV的较简单的解决方案,但不够一致。pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

受现有OpenCV脚本的启发,我开发了一种简单而一致的方法来提取表格,并将其制作成一个开源的Python库:img2table。pKS28资讯网——每日最新资讯28at.com

链接:https://github.com/xavctn/img2tablepKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

我的库有什么作用?

pKS28资讯网——每日最新资讯28at.com

与深度学习解决方案相比,这个轻量级的包不需要训练和最小化参数化。它提供了以下功能:pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

  • 识别图像和PDF文件中的表格,包括在表格单元级别的边界框。
  • 通过支持OCR服务/工具(Tesseract、PaddleOCR、AWS Textract、Google Vision和Azure OCR目前支持)来提取表格内容。
  • 处理复杂的表格结构,如合并单元格。
  • 实现纠正图像的倾斜和旋转的方法。
  • 提取的表格以一个简单的对象形式返回,包括一个Pandas DataFrame表示。
  • 将提取的表格导出为Excel文件的选项,保留其原始结构。

如何使用它?

pKS28资讯网——每日最新资讯28at.com

您可以通过pip安装该库,然后就可以使用了:pKS28资讯网——每日最新资讯28at.com

pip install img2table

在文档中识别表格只需调用一个函数:pKS28资讯网——每日最新资讯28at.com

from img2table.document import Image# Instantiation of the imageimg = Image(src="myimage.jpg")# Table identificationimg_tables = img.extract_tables()# Result of table identificationimg_tables[ExtractedTable(title=None, bbox=(10, 8, 745, 314),shape=(6, 3)), ExtractedTable(title=None, bbox=(936, 9, 1129, 111),shape=(2, 2))]

pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

上述示例中使用的图像pKS28资讯网——每日最新资讯28at.com

如果我们想提取表格的内容,则需要使用OCR工具,可以按如下方式实现:pKS28资讯网——每日最新资讯28at.com

from img2table.document import PDFfrom img2table.ocr import TesseractOCR# Instantiation of the pdfpdf = PDF(src="mypdf.pdf")# Instantiation of the OCR, Tesseract, which requires prior installationocr = TesseractOCR(lang="eng")# Table identification and extractionpdf_tables = pdf.extract_tables(ocr=ocr)# We can also create an excel file with the tablespdf.to_xlsx('tables.xlsx',            ocr=ocr)

pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

从PDF中提取的表格示例pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

最后,在简单的情况下,可以通过设置`borderless_tables`参数来执行“无边框”表格的提取。这允许检测那些单元格不需要完全被边框包围的表格。pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

“无边框”表格提取示例pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

这就是全部!实际上,库并没有太多复杂的东西,因为目标是尽可能简化,以避免其他可用解决方案可能带来的复杂性。pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

有关更详细的文档和示例,请查看项目的GitHub页面:https://github.com/xavctn/img2tablepKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

底层实现

pKS28资讯网——每日最新资讯28at.com

所有图像处理都使用OpenCV和opencv-python库完成。然而,这仍然相当基础。pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

算法的骨架是Hough变换,它能够识别图像中的线条,使我们能够检测图像的水平和垂直线条。pKS28资讯网——每日最新资讯28at.com

cv2.HoughLinesP(img, rho, theta, threshold, None, minLinLength, maxLineGap)

pKS28资讯网——每日最新资讯28at.com

之后,对线条进行一些处理以从线条中识别单元格,然后从单元格中识别表格。pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

实现算法的简化表示pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

大多数计算使用Polars进行,以实现良好的性能和速度。pKS28资讯网——每日最新资讯28at.com

pKS28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-25992-0.html使用Python从图像中提取表格

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: C语言结构体用法详解

下一篇: 由“点”向“面”!简析新一代WAF的理念与应用

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • 虚拟键盘 API 的妙用

    你是否在遇到过这样的问题:移动设备上有一个固定元素,当激活虚拟键盘时,该元素被隐藏在了键盘下方?多年来,这一直是 Web 上的默认行为,在本文中,我们将探讨这个问题、为什么会发生
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 腾讯盖楼,字节拆墙

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之“想重温暴刷深渊、30+技能搭配暴搓到爽的游戏体验吗?一起上晶核,即刻暴打!”曾凭借直播腾讯旗下代理格斗游戏《DNF》一
  • 猿辅导与新东方的两种“归途”

    作者|卓心月 出品|零态LT(ID:LingTai_LT)如何成为一家伟大企业?答案一定是对“势”的把握,这其中最关键的当属对企业战略的制定,且能够站在未来看现在,即使这其中的
  • 认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • 微博大门常打开,迎接海外画师漂洋东渡

    作者:互联网那些事“起猛了,我能看得懂日语了”。“为什么日本人说话我能听懂?”“中文不像中文,日语不像日语,但是我竟然看懂了”…&hell
  • 机构称Q2国内智能手机销量同比下滑4% vivo份额重回第1

    7月29日消息,根据市场调查机构Counterpoint Research公布的最新报告,2023年第2季度中国智能手机销量同比下降4%,创新自2014年以来第2季度销量新低。报
Top