Opencv-Python调整大小图像

时间:2019-01-06 10:44:54

标签: python opencv image-resizing

尝试调整图像大小,但出现错误提示。

  

TypeError :resize()缺少1个必需的位置参数:“ image”。

line 11, in <module> img = resize(img, width = 1280)

import cv2
import numpy as np
from matplotlib import pyplot as plt

def resize(self,image,window_height = 500):
aspect_ratio = float(image.shape[1])/float(image.shape[0])
window_width = window_height/aspect_ratio
image = cv2.resize(image, (int(window_height),int(window_width)))
return image

img = cv2.imread('hr.jpg')
img_resized = resize(img,window_height = 800)
cv2.imshow("Resized",img_resized)
cv2.waitKey(0)
cv2.destroyAllWindows()

2 个答案:

答案 0 :(得分:2)

您还需要说出高度和宽度。 :)

resized_image = cv2.resize(image, (800, 250)) # for example

第一个是宽度(800),第二个是高度(250)

编辑 也许您的代码可以工作(我不知道),但是您在调整大小之前忘记了cv2.,但我建议您写宽度和高度。

答案 1 :(得分:1)

您定义的函数resize(image, window_height)不是方法,因此它不应该带有self参数。

import cv2

def resize(image, window_height = 500):
    aspect_ratio = float(image.shape[1])/float(image.shape[0])
    window_width = window_height/aspect_ratio
    image = cv2.resize(image, (int(window_height),int(window_width)))
    return image

删除self时,代码将运行。