[英]Unable to resize image using cv2 after converting pdf to images using pdf2image package
使用 pdf2image package 將 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)
您還需要將圖像轉換為 arrays。 為此,您必須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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.