使用pdf2image包将pdf转换为图像后无法使用cv2调整图像大小
Unable to resize image using cv2 after converting pdf to images using pdf2image package
使用 pdf2image 包将 pdf 转换为图像后,无法使用 cv2 调整图像大小。
密码是
import os
import cv2
from pdf2image import convert_from_path
pdf_files = [filename for filename in os.listdir(
os.getcwd()) if filename.endswith('.pdf')]
for pdf_file in pdf_files:
images = convert_from_path(pdf_file, 400)
for i, image in enumerate(images):
fname = pdf_file+'_image'+str(i)+'.jpg'
fname = cv2.resize(fname, (3400, 4400))
image.save(fname, "JPEG")
错误是
fname = cv2.resize(fname, (3400, 4400))
TypeError: Expected Ptr<cv::UMat> for argument 'src'
您正在尝试在这行代码中调整文件名的大小:
fname = cv2.resize(fname, (3400, 4400))
将以上行替换为:
image = cv2.resize(image, (3400, 4400))
要保存图像,命令为 cv2.imwrite(fname, image)
您还需要将图像转换为数组。为此,您必须 import numpy
。这是完整的代码:
import os
import cv2
import numpy as np
from pdf2image import convert_from_path
pdf_files = [filename for filename in os.listdir(
os.getcwd()) if filename.endswith('.pdf')]
for pdf_file in pdf_files:
images = convert_from_path(pdf_file, 400)
for i, image in enumerate(images):
fname = pdf_file+'_image'+str(i)+'.jpg'
image = np.array(image)
image = cv2.resize(image, (3400, 4400))
cv2.imwrite(fname, image)
使用 pdf2image 包将 pdf 转换为图像后,无法使用 cv2 调整图像大小。
密码是
import os
import cv2
from pdf2image import convert_from_path
pdf_files = [filename for filename in os.listdir(
os.getcwd()) if filename.endswith('.pdf')]
for pdf_file in pdf_files:
images = convert_from_path(pdf_file, 400)
for i, image in enumerate(images):
fname = pdf_file+'_image'+str(i)+'.jpg'
fname = cv2.resize(fname, (3400, 4400))
image.save(fname, "JPEG")
错误是
fname = cv2.resize(fname, (3400, 4400))
TypeError: Expected Ptr<cv::UMat> for argument 'src'
您正在尝试在这行代码中调整文件名的大小:
fname = cv2.resize(fname, (3400, 4400))
将以上行替换为:
image = cv2.resize(image, (3400, 4400))
要保存图像,命令为 cv2.imwrite(fname, image)
您还需要将图像转换为数组。为此,您必须 import numpy
。这是完整的代码:
import os
import cv2
import numpy as np
from pdf2image import convert_from_path
pdf_files = [filename for filename in os.listdir(
os.getcwd()) if filename.endswith('.pdf')]
for pdf_file in pdf_files:
images = convert_from_path(pdf_file, 400)
for i, image in enumerate(images):
fname = pdf_file+'_image'+str(i)+'.jpg'
image = np.array(image)
image = cv2.resize(image, (3400, 4400))
cv2.imwrite(fname, image)