使用opencv导入自己的图片np处理成类似mnsit数据集进行手写图片识别
mnsit数据集读取后也是加工成矩阵或者list类型,所以为了方便对自己的少量图片进行识别,又不想很麻烦的制作数据集(大量的图片建议用https://github.com/gskielian/JPG-PNG-to-MNIST-NN-Format 制作),只需要把图片加工成矩阵的形式就可以直接输入
code:
import numpy as np
import cv2
import tensorflow as tf
image=cv2.imread('xxx.jpg)
image=cv2.resize(image,(28,28))
image=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image=np.ones((28,28))*255-np.array(image)#在转灰度时值给反了,修正
image= np.array(image/255,dtype=float)#归一化,类似one_hot
image=image.reshape((1,784))
’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘
#############省略##################
’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
outputval,predv=sess.run([output,pred],feed_dict={x:image})
print('predict=',outputval)