Python -使用opencv编写自己的函数给出错误


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

由于fxfy不是函数的第三和第四个参数,因此必须将它们指定为关键字参数

相关内容

  • 没有找到相关文章

最新更新