尝试调整图像大小,但出现错误提示。
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()
答案 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
时,代码将运行。