Python 从图像中提取MNIST数据集预测器的属性

Python 从图像中提取MNIST数据集预测器的属性,python,pandas,image,knn,mnist,Python,Pandas,Image,Knn,Mnist,我已经为MNIST数据集创建了一个KNN预测器。数据集包含手写图像的图像。图像为灰度级,尺寸为28 X 28像素。这些图像的信息存储在784个特征中,每个特征对应于图像中单个像素的强度。我想将此模型实现到不在测试或训练集中的新图像。我想写一段代码,可以把一幅图像转换成28 X 28像素,然后把每个像素的强度作为一个值存储在一个独特的特征中。这将使我能够拍摄新的图像并对其进行预测。我应该使用什么模块以及应该遵循什么程序?您可以使用OpenCV和Numpy, 假设您拍摄一个数字的照片并将其保存为'p

我已经为MNIST数据集创建了一个KNN预测器。数据集包含手写图像的图像。图像为灰度级,尺寸为28 X 28像素。这些图像的信息存储在784个特征中,每个特征对应于图像中单个像素的强度。我想将此模型实现到不在测试或训练集中的新图像。我想写一段代码,可以把一幅图像转换成28 X 28像素,然后把每个像素的强度作为一个值存储在一个独特的特征中。这将使我能够拍摄新的图像并对其进行预测。我应该使用什么模块以及应该遵循什么程序?

您可以使用OpenCV和Numpy, 假设您拍摄一个数字的照片并将其保存为'pic.jpg'

import cv2
import numpy as np

img = cv2.imread('pic.jpg', 0) # 0 for greyscale 
resized = cv2.resize(img, (28,28)) 
features = resized.reshape(-1) #converts into single dimension

功能阵列将具有784个功能

。谢谢,但由于某些原因,处理后的图像后面的白纸是黑色的,文本是白色的!因此,我的模型无法做出正确的预测。在哪一步之后,你指的是经过处理的图像?我像这样绘制了调整大小的变量:
plt.imshow(resized,cmap='binary')#绘制图像plt.axis(“off”)plt.show()
。黑白颠倒。这可能是因为您使用的是二进制,请尝试使用cv2打印,即
cv2.imshow('image',resized)
谢谢,它成功了!