0
点赞
收藏
分享

微信扫一扫

cv表格抓取

金刚豆 2023-12-22 阅读 17

"cv表格抓取"可能指的是使用OpenCV库来识别和提取图像中的表格数据。这通常涉及以下步骤¹²:

  1. 灰度化:将彩色图像转换为灰度图像。
  2. 二值化:将图像转换为只有黑白两种颜色的图像,以便于处理。
  3. 识别横线和竖线:使用形态学操作(如膨胀和腐蚀)来识别图像中的横线和竖线。
  4. 计算交点:计算横线和竖线的交点,以确定表格的单元格。
  5. 提取单元格:根据计算出的交点,提取出每个单元格的图像。
  6. OCR识别:对每个单元格图像进行OCR识别,提取其中的文本信息。

这些步骤可能需要根据具体的图像进行调整。例如,如果图像中的表格是倾斜的,可能需要进行透视变换来矫正表格。如果图像中有干扰物或水印,可能需要进行一些预处理步骤来去除这些干扰²。

提取出的表格数据可以使用pandas库转换为数据框,然后进行进一步的处理或分析¹。

这是一个基本的示例,展示了如何使用Python和OpenCV来识别和提取图像中的表格数据²:

import cv2
import numpy as np

# 读取图像
img = cv2.imread('table.jpg', 0)

# 二值化
_, threshed = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV)

# 检测所有的形状
contours, _ = cv2.findContours(threshed, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

for c in contours:
    # 获取边界框参数
    x, y, w, h = cv2.boundingRect(c)
    
    # 绘制边界框
    cv2.rectangle(img, (x, y), (x+w, y+h), (255, 255, 255), 1)

# 显示带有边界框的图像
cv2.imshow('table detection', img)

请注意,这只是一个基本示例,可能需要根据您的具体需求进行修改和优化。在实际应用中,可能还需要考虑一些其他因素,例如处理倾斜的表格、去除干扰物、优化OCR识别等。此外,还可以考虑使用一些专门的表格识别库或服务,例如Tabula或Amazon Textract,它们可能提供更高级的表格识别功能。¹²源: 与必应的对话, 2023/12/22

(1) opencv 表格识别之表格的提取(一)-CSDN博客. https://blog.csdn.net/asiwxy/article/details/83063432.

(2) 表格识别1-使用python-opencv实现表格识别 - CSDN博客. https://blog.csdn.net/sc9018181134/article/details/104577247.

(3) OpenCV-检测并提取表格_opencv tesserat 提取不规则表格识别-CSDN博客. https://blog.csdn.net/yomo127/article/details/52045146.

(4) Python 讀取與寫入 CSV 檔案教學與範例 - G. T. Wang. https://blog.gtwang.org/programming/python-csv-file-reading-and-writing-tutorial/.

(5) undefined. https://blog.csdn.net/asiwxy/article/details/82955185.

(6) undefined. https://blog.csdn.net/qq_29540745/article/details/52496477.

举报

相关推荐

0 条评论