使用OpenCV 2.4.10和Python 2.7.10时出现imresize错误

8

我正在尝试使用OpenCV 2.4.10和Python 2.7.10调整图像大小。

以下代码可以实现调整图像大小:

resized_patch = cv2.resize(patch, (3, 50, 50))

然而,我对使用INTER_AREA插值方法很感兴趣。根据Python的文档,我尝试了以下方法:

dst = numpy.zeros((3, 50, 50))
resized_patch = cv2.resize(patch, (3, 50, 50), dst=dst, fx=0, fy=0, interpolation=cv2.INTER_AREA)

然而,我从cv2.resize这一行得到的错误是:
TypeError: 'function takes exactly 2 arguments (3 given)'

有线索吗?
2个回答

7

您需要使用2D尺寸来定义dst.size(),而不是3D:

resized_patch = cv2.resize(patch, (3, 50, 50), dst=dst, fx=0, fy=0, interpolation=cv2.INTER_AREA)
                                      ^^^ #here 

谢谢!那么没有一种好的方法可以同时调整所有三个维度的大小吗? - unicorn_poet
@angela 欢迎,实际上我没有任何想法,但这个问题可能会有帮助 https://dev59.com/v4bca4cB1Zd3GeqPUVIC - Mazdak

-1
请使用这个“resize”函数代替“cv2.resize”。
from skimage.transform import resize

这应该是一条注释。 - unicorn_poet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接