欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用opencv,读取图片

程序员文章站 2022-07-13 08:59:18
...

opencv安装成功以后那,按照路径读取,最后读出来一个None

img = cv2.imread(path)

解决办法:1.查看一下路径是不是正确的,还有反斜杠
2.路径中不要掺杂中文,否则也是读取不成功

import tensorflow as tf
import cv2
import numpy as np

path='D:/testimages/'
# img = cv2.imread(path+str(i)+'.jpg')[:,:,0]/255  # 读取数据
# # 三维数据,行,列,层,层表明哪个颜色的数据通道
# img=img.reshape([1,28*28]) # 进行维度转化

tf.compat.v1.disable_eager_execution()

tf.compat.v1.reset_default_graph()  # 重置计算图
sess= tf.compat.v1.Session()
saver=tf.compat.v1.train.import_meta_graph('D:/科技数据/机器学习/tensorflow/temp/softmax.meta')  # 导入保存好的计算图
saver.restore(sess,'D:/科技数据/机器学习/tensorflow/temp/softmax')  # **
input=tf.compat.v1.get_default_graph().get_tensor_by_name('input:0')
# 获取计算图,通过名称获取具体的tensor
output=tf.compat.v1.get_default_graph().get_tensor_by_name('output:0')

for i in range(20):
    img = cv2.imread(path+str(i)+'.jpg')[:,:,0]/255  # 读取数据
    # 三维数据,行,列,层,层表明哪个颜色的数据通道
    img=img.reshape([1,28*28]) # 进行维度转化
    pre = sess.run(output, feed_dict={input: img})  # 将新样本进行预测
    res=np.argmax(pre, 1)
    print('图片',str(i)+'.jpg中的数字是',res[0])

sess.close()