如何在python中将图像更改为所需的形状?
我正在为MNIST时装数据集制作CNN模型。我创造了一个成功的CNN模式。但我想为我从互联网下载的另一幅图像测试分类模型 我所有的训练和测试集都是(28,28,1)型的。但是现在对于我想要预测的图像,我将其调整为(28,28),并使用如何在python中将图像更改为所需的形状?,python,deep-learning,neural-network,conv-neural-network,image-resizing,Python,Deep Learning,Neural Network,Conv Neural Network,Image Resizing,我正在为MNIST时装数据集制作CNN模型。我创造了一个成功的CNN模式。但我想为我从互联网下载的另一幅图像测试分类模型 我所有的训练和测试集都是(28,28,1)型的。但是现在对于我想要预测的图像,我将其调整为(28,28),并使用 cv2.cvtColor(load_img_rz, cv2.COLOR_BGR2GRAY) 现在图像的形状是(28,28)。我试着把它输入模型,结果显示出错误 ValueError: Input 0 of layer sequential_6 is incomp
cv2.cvtColor(load_img_rz, cv2.COLOR_BGR2GRAY)
现在图像的形状是(28,28)。我试着把它输入模型,结果显示出错误
ValueError: Input 0 of layer sequential_6 is incompatible with the layer: : expected min_ndim=4,
found ndim=3. Full shape received: (None, 28, 3)
我认为形状是个问题。因此,如果问题是这样的,我如何将其转换为形状(28,28,1)
CNN在单通道RGB中比在三通道RGB中工作得更好吗?由于您没有包含代码,我假设您的输入层有问题。因此,您需要首先在输入层中指定单位和输入dim的数量:
model = Sequential()
model.add(Dense(X.shape[1], activation='something you desired', input_dim=X.shape[1]))
等等
很难理解你在处理什么以及你想要实现什么,因为你没有指定/共享任何东西,甚至没有代码。在深入学习中,对我来说一个非常有用的命令是
expand\u dims
您可以使用axis参数来更好地了解这里的情况
your_image.shape
>>> (28, 28)
your_new_array = np.expand_dims(your_image, axis=-1)
your_new_array.shape
>>> (28, 28, 1)