成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用Python從圖像中提取表格

開發 前端 人工智能
受現有OpenCV腳本的啟發,我開發了一種簡單而一致的方法來提取表格,并將其制作成一個開源的Python庫:img2table。

大約一年前,我被分配任務從文件中提取和結構化數據,主要是包含在表格中的數據。我之前對計算機視覺沒有了解,并且很難找到一個合適的“即插即用”的解決方案。當時可選的方案要么是基于最新神經網絡(NN)的解決方案,這些解決方案龐大而繁瑣,要么是基于OpenCV的較簡單的解決方案,但不夠一致。

受現有OpenCV腳本的啟發,我開發了一種簡單而一致的方法來提取表格,并將其制作成一個開源的Python庫:img2table。

鏈接:https://github.com/xavctn/img2table

我的庫有什么作用?

與深度學習解決方案相比,這個輕量級的包不需要訓練和最小化參數化。它提供了以下功能:

  • 識別圖像和PDF文件中的表格,包括在表格單元級別的邊界框。
  • 通過支持OCR服務/工具(Tesseract、PaddleOCR、AWS Textract、Google Vision和Azure OCR目前支持)來提取表格內容。
  • 處理復雜的表格結構,如合并單元格。
  • 實現糾正圖像的傾斜和旋轉的方法。
  • 提取的表格以一個簡單的對象形式返回,包括一個Pandas DataFrame表示。
  • 將提取的表格導出為Excel文件的選項,保留其原始結構。

如何使用它?

您可以通過pip安裝該庫,然后就可以使用了:

pip install img2table

在文檔中識別表格只需調用一個函數:

from img2table.document import Image

# Instantiation of the image
img = Image(src="myimage.jpg")

# Table identification
img_tables = img.extract_tables()

# Result of table identification
img_tables

[ExtractedTable(title=None, bbox=(10, 8, 745, 314),shape=(6, 3)),
 ExtractedTable(title=None, bbox=(936, 9, 1129, 111),shape=(2, 2))]

上述示例中使用的圖像

如果我們想提取表格的內容,則需要使用OCR工具,可以按如下方式實現:

from img2table.document import PDF
from img2table.ocr import TesseractOCR

# Instantiation of the pdf
pdf = PDF(src="mypdf.pdf")

# Instantiation of the OCR, Tesseract, which requires prior installation
ocr = TesseractOCR(lang="eng")

# Table identification and extraction
pdf_tables = pdf.extract_tables(ocr=ocr)

# We can also create an excel file with the tables
pdf.to_xlsx('tables.xlsx',
            ocr=ocr)

從PDF中提取的表格示例

最后,在簡單的情況下,可以通過設置`borderless_tables`參數來執行“無邊框”表格的提取。這允許檢測那些單元格不需要完全被邊框包圍的表格。

“無邊框”表格提取示例

這就是全部!實際上,庫并沒有太多復雜的東西,因為目標是盡可能簡化,以避免其他可用解決方案可能帶來的復雜性。

有關更詳細的文檔和示例,請查看項目的GitHub頁面:https://github.com/xavctn/img2table

底層實現

所有圖像處理都使用OpenCV和opencv-python庫完成。然而,這仍然相當基礎。

算法的骨架是Hough變換,它能夠識別圖像中的線條,使我們能夠檢測圖像的水平和垂直線條。

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

之后,對線條進行一些處理以從線條中識別單元格,然后從單元格中識別表格。

實現算法的簡化表示

大多數計算使用Polars進行,以實現良好的性能和速度。

責任編輯:趙寧寧 來源: 小白玩轉Python
相關推薦

2025-02-17 12:00:00

PythonOpenCV提取圖像

2020-07-08 07:54:03

PythonPDF數據

2019-09-29 09:08:41

Python數據庫Google

2021-03-15 21:50:22

Linux提取文本GUI工具

2023-11-29 11:30:17

PDF語言模型

2021-05-13 23:54:12

DockerDockerfile鏡像

2021-03-10 10:20:06

Linux文本命令

2022-11-23 10:31:54

2021-09-04 23:45:40

機器學習語言人工智能

2016-01-26 11:08:54

2022-08-24 15:57:17

圖片輪廓

2019-09-04 11:09:38

物聯網數據邊緣

2013-04-01 11:14:56

IT大數據網絡信息化

2023-04-27 07:06:09

Categraf夜鶯

2014-07-16 17:35:03

Android表單模型

2021-03-16 09:00:00

深度學習人工智能傳感器

2021-08-16 11:51:16

微軟Windows 365Azure

2020-05-08 11:12:58

惡意軟件PC安全終端安全

2021-10-21 05:41:27

QueenSono安全工具提取數據

2020-12-04 06:39:25

爬蟲網頁
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产精品一区二区三区 | 在线第一页 | 韩国av电影网 | 欧美.com| 午夜噜噜噜| 国产精彩视频在线观看 | 国产精品一区三区 | 国产美女一区二区 | 亚洲一区二区精品视频 | 国产精品久久久久久婷婷天堂 | .国产精品成人自产拍在线观看6 | 欧美视频在线播放 | 91精品欧美久久久久久久 | 国产精品夜色一区二区三区 | 国产区精品视频 | 国产成人一区二区三区电影 | 青青久久 | 四色成人av永久网址 | 中文字幕精品一区 | 中文字字幕一区二区三区四区五区 | 精品视频久久久 | 国产免费拔擦拔擦8x高清 | 国产情侣在线看 | 91传媒在线观看 | 欧美日韩中 | 91精品国产综合久久久久久漫画 | 久久久久亚洲精品 | 精品1区| 欧美小视频在线观看 | 午夜成人在线视频 | 国产在线观看不卡一区二区三区 | 影音先锋中文字幕在线观看 | 欧美一区二区在线 | 亚洲第一成人av | 九九99精品 | 日韩中文一区二区三区 | 日韩在线h | 色视频在线播放 | 久久久久国产一区二区三区 | 欧美精品一区二区三 | 欧美视频在线播放 |