首页 > 其他分享 >cv表格抓取

cv表格抓取

时间:2023-12-22 15:33:06浏览次数:22  
标签:表格 cv2 抓取 blog https 图像 识别 cv

"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.

标签:表格,cv2,抓取,blog,https,图像,识别,cv
From: https://blog.51cto.com/u_16055028/8936089

相关文章

  • Go 爬虫在大规模数据抓取中的性能如何
    随着互联网的发展,数据已经成为一种非常重要的资源。因此,大规模数据抓取已经成为了很多公司和组织的常见需求。在这个过程中,爬虫技术无疑是一个非常强大的工具,而Go语言作为一门高效的编程语言,也被广泛应用于爬虫程序的开发中。本文将探讨Go爬虫在大规模数据抓取中的性能。Go语言的性......
  • Js 之treeTable树状表格
    一、下载/**树形表格3.xCreatedbywangfanon2020-05-12https://gitee.com/whvse/treetable-lay*/layui.define(['laytpl','form','util'],function(exports){var$=layui.jquery;varlaytpl=layui.laytpl;varform......
  • element ui 表格与锚点定位
    父组件表格页面代码:<template> <divclass="wrapper">  <divclass="overview-box">   <divclass="box-name">    <divclass="flag"/>    标的事件   </div>   <pclass......
  • DevExpress中使用BandGridView实现复合(多行)表头、设置多行表头背景颜色、表格边框颜色
    一、实现效果二、实现方法2.1、创建复合表头①将创建的GridControl下的GirdView1转化为BandGridView类型;②创建需要展示的列(指定列的名称【Name】、描述【caption】、数据字段名称【FieldName】)③绑定列实现复合表头。注意:如果复合表头有多行,则需要设置新增Band的RowCoun......
  • 【Python】【OpenCV】定位条形码(二)
    根据上一篇博客可知,单纯的通过求取最大面积而进行定位的局限性,因此我们接下来将通过cv2.moments()和cv2.HuMoments()这两个方法来在更复杂的环境中去找到我们的目标区域。 cv2.moments():参数:array:表示输入图像的单通道数组。通常是灰度图像,可以是8位或浮点型。binaryIm......
  • Excel-表格有重复资料该怎麽办?
    1.标注重复信息框选单元格——开始——条件格式——突出显示单元格规则——重复值——确定框选单元格——开始——条件格式——新建规则——使用公式确定要设置格式的单元格——输入公式——修改后一参数值为相对参照——格式——填充——选择颜色——确定注:公式例子:=countif($E$......
  • Excel-保护表格必学四招
    1、如果想要保护excel表格内容不被篡改,审阅--保护工作簿来设置密码但是一定设定密码,所有的表格都不能被修改2、如果有部分单元格需要使用,则可以选中单元格--设置单元格格式--保护--取消锁定3、如果有些计算公式不想被人知道,可以选中单元格---设置单元格格式--保护--勾选隐......
  • 【Python】【OpenCV】定位条形码(一)
    先上代码:1defbarcode(image):2gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)3blur=cv2.GaussianBlur(gray,(5,5),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)4cv2.imshow('GaussianBlur',blur)5kernel_x=numpy.array([......
  • opencv图像处理机器学习真实项目教程(python实现)3图像处理基础
    3图像处理基础在本章中,我们将介绍图像处理中的各种操作,首先是基于平移的操作,如旋转和调整大小。读者将学习如何使用OpenCV旋转和调整图像大小,以及如何控制生成图像的大小和方向。本章接着介绍了图像的算术运算,如加法、减法和除法。本章继续以图像运算为主题,介绍图像的位运算,如......
  • 可视化云平台EasyCVR远程视频监控技术在冬季电力巡检工作中的应用
    随着冬季的到来,电力巡检工作变得越来越重要。在这个寒潮天气频发的季节里,电力设备容易受到冰雪、寒风等自然因素的影响,导致故障和安全隐患,影响正常供电。为了确保电力设备的正常运行,电力公司需要加强巡检工作,及时发现和解决问题。在这个背景下,视频监控技术在冬季电力巡检工作中发......