import numpy as np
import cv2
def resize(image, percentage):
img = image
fy=percentage
fx=percentage
img2 = cv2.resize(img, (0,0), fx, fy)
return cv2.img2
img = cv2.imread('test.png')
img2 = resize(img, 0.45)
cv2.imshow('image',img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
Traceback (most recent call last):
File "C:UsersJayDesktopPortable Pythonopencvprogram_ver1.py", line 14, in <module>
img2 = resize(img, 0.45)
File "C:UsersJayDesktopPortable Pythonopencvprogram_ver1.py", line 10, in resize
img2 = cv2.resize(img, (0,0), fx, fy)
error: C:buildsmaster_PackSlaveAddon-win32-vc12-staticopencvmodulesimgprocsrcimgwarp.cpp:3209: error: (-215) dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0) in function cv::resize
尊敬的Python理事会成员,
我一直在学习Python和OpenCV,我遇到了一个问题。
我想看看是否有可能在我自己的函数中包含一个OpenCV函数,但似乎我做错了。回溯显示了一些关于尺寸的信息。在cv::resize区域,但是这个错误信息对我来说意义不大,因为我不知道这在较小的图片中是如何工作的。
有人可以引导我在正确的方向,使程序工作如我所期望的?
看起来差不多了。只需将函数的最后两行更改为:
img2 = cv2.resize(img, (0,0), fx=fx, fy=fy) # enter fx and fy as keyword arguments
return img2 # cv2.img2 was just a typo
由于fx
和fy
不是函数的第三和第四个参数,因此必须将它们指定为关键字参数