gpt4 book ai didi

python - 如何将PDF转换为opencv-python可读的图像?

转载 作者:行者123 更新时间:2023-12-04 01:26:31 30 4
gpt4 key购买 nike

我正在使用以下代码在图像文本上绘制矩形以匹配日期模式及其工作正常。

import re
import cv2
import pytesseract
from PIL import Image
from pytesseract import Output

img = cv2.imread('invoice-sample.jpg')
d = pytesseract.image_to_data(img, output_type=Output.DICT)
keys = list(d.keys())

date_pattern = '^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/(19|20)\d\d$'

n_boxes = len(d['text'])
for i in range(n_boxes):
if int(d['conf'][i]) > 60:
if re.match(date_pattern, d['text'][i]):
(x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)
img.save("sample.pdf")

现在,最后我得到了一个带有匹配日期模式的矩形的 PDF。

我想将此程序扫描的 PDF 作为输入而不是上面的图像。
它应该首先将 PDF 转换为 opencv 可读的图像格式,以进行与上述相同的处理。
请帮忙。
(任何解决方法都可以。我需要一个解决方案,我可以在其中将 PDF 转换为图像并直接使用它,而不是保存在磁盘上并从那里再次读取它们。因为我有很多 PDF 需要处理。)

最佳答案

有一个名为 pdf2image 的库。您可以使用“pip install pdf2image”安装它。然后您可以使用以下内容将pdf的页面转换为所需格式的图像:

from pdf2image import convert_from_path
pages=convert_from_path("pdf_file_to_convert")
for page in pages:
page.save("page_image.jpg","jpg")

现在您可以使用此图像来应用 opencv 函数。

您可以使用 BytesIO 来完成您的工作,而无需保存文件。
from io import BytesIO
from PIL import Image
with BytesIO as f:
page.save(f,format="jpg")
f.seek(0)
img_page=Image.open(f)

关于python - 如何将PDF转换为opencv-python可读的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61832964/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com