最近在复现图像融合Densefuse时,出现报错:

ValueError: cannot reshape array of size 97200 into shape (256,256,1)

在网上查了下,说是输入的尺寸不对,我的输入图片是270 X 360 =97200 不等于256 X 256 =65536。

但是输入的图片尺寸肯定是不同的,那么就是在reshape前面resize部分出了问题。由于scipy版本问题,scipy>=1.2不再包含函数imresize,所以在之前我就按网上的方法将

image = imresize(image, [height, width], interp=’nearest’)

调用numpy库:

import numpy as np

原句改为了:

np.array(Image.fromarray(image).resize((height, width)))

上述改动就是导致resize不起作用的原因,于是我采用了另外的改法,将调用的

from scipy.misc import imresize

注释掉或者删掉,选择调用skimage库:

from skimage.transform import resize as imresize

原句改为:

image = imresize(image, [height, width])

采用第二种改动,成功起到了作用,输入的图片resize后就能正常进行reshape了。