簡體   English   中英

使用 pdf2image package 將 pdf 轉換為圖像后,無法使用 cv2 調整圖像大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM