如何正确调整图像大小?

时间:2020-06-01 02:25:20

标签: python tensorflow keras conv-neural-network convolution

我是CNN DL的入门者。 在CNN代码期间,我遇到了此错误:

从1减去3导致的负尺寸 输入形状为[?,19,1,64]的'conv2d_3 / convolution'(op:'Conv2D'), [3,3,64,64]

我的图像数据显示300(w)855(h)像素大小。

对于np数组转换,我在下面应用。

(width,height = 28)->>
img = cv2.resize(img, None, fx = img_width/img.shape[0], fy = img_height/img.shape[1])
                x.append(img/256)
                y.append(label)

然后,我使用此方法尝试了CNN:

model.add(Convolution2D(16,(3,3), border_mode='same', activation='relu', input_shape=x_train.shape[1:]))

x_train.shape[1:] = (80,10,3)

请帮助解决此错误。 谢谢您的阅读。

1 个答案:

答案 0 :(得分:0)

您有一个形状为(19x1x64)的输入,其中64是通道数。这就是为什么您无法执行3x3卷积运算的原因。可能正在发生什么:
-您正在以错误的方式调整图像大小(因此尺寸为19x1x64,而不是您可能打算获得的28x28x3)。
如何解决呢?再次检查尺寸并在调整尺寸后打印图像形状,看看这是否是您想要的。