Keras重塑输入图像以与CNN一起工作

ewm0tg9j  于 2023-02-12  发布在  其他
关注(0)|答案(3)|浏览(119)

还有其他帖子也有类似的问题,但没有一个答案能帮到我。我是CNN世界的新手。
我按照this教程训练一个CNN与Keras使用theano作为后端与MNIST数据集。现在我想传递给CNN我自己的jpg图像,但我不知道如何重塑它。你能帮我吗?我超级新在这方面。
到目前为止,我试着用这个来重塑

image = np.expand_dims(image, axis=0) image = preprocess_input(image)

但在预测时得到如下误差:

ValueError: Error when checking : expected conv2d_1_input to have shape (None, 1, 28, 28) but got array with shape (1, 3, 28, 28)

如您所见,我的CNN使用宽度= 28、高度= 28和深度=1。

mzillmmw

mzillmmw1#

尝试使用Numpy进行整形。从开始,您一直使用2D卷积模型:

image = np.reshape(image, (28, 1, 28, 1))
00jrzges

00jrzges2#

错误信息显示网络期望图像形状为12828,但您输入的是32828。我猜您输入的图像是彩色图像,3个通道(RGB),而网络期望灰度图像,一个通道。
调用opencv读取图像时,请使用下面的代码。img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)

7jmck4yq

7jmck4yq3#

只需使用“”“图像= np.整形(透镜(图像),(28,28,1))”“"

相关问题