首页 > 解决方案 > 使用 MNIST 数据集训练的模型预测自己的图像

问题描述

我用 keras mnist 数据集训练了一个模型,用于手写数字识别,它的准确率为 98%。但是说到我自己的形象,表现就很差。我想这与我自己图像的预处理有关。这是我尝试将图像转换为 28*28 大小的方法。

image = Image.open(f'screenshots/screenshot0.png').convert('L')
image = image.resize((28,28), Image.ANTIALIAS)
data = np.asarray(image)/255.0

而且我发现转换后图像的颜色发生了变化

这是原始图像

调整大小后的图像

变形后可以看到白色变成灰色,不知道是不是性能不好的原因?

标签: tensorflow

解决方案


尝试使用 opencv 读取图像。

import cv2
image = cv2.imread(f'screenshots/screenshot0.png',0)
image = cv2.resize(image, (28,28))
data = np.asarray(image)/255.0

推荐阅读