使用python将图片中的表格转化为excel中可编辑的表格,并将表格保存在桌面,运用opencv库和pandas库
时间: 2023-05-21 14:00:52 浏览: 454
可以使用以下代码将图片中的表格转化为excel中可编辑的表格,并将表格保存在桌面:
```
import cv2
import pandas as pd
# 读取图片
img = cv2.imread('image.png')
# 将图片转化为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 将灰度图像转化为二值图像
thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)[1]
# 查找表格轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 获取表格轮廓的矩形框
rects = [cv2.boundingRect(cnt) for cnt in contours]
# 将表格中的每个单元格转化为字符串,并保存到列表中
data = []
for rect in rects:
x, y, w, h = rect
cell = img[y:y+h, x:x+w]
text = pytesseract.image_to_string(cell, lang='chi_sim')
data.append(text)
# 将列表转化为pandas的DataFrame对象
df = pd.DataFrame(data)
# 将DataFrame对象保存为excel文件
df.to_excel('Desktop/table.xlsx', index=False)
```
需要注意的是,上述代码中使用了pytesseract库来将表格中的每个单元格转化为字符串,因此需要先安装pytesseract库,并且需要下载中文语言包。
阅读全文