首页 > 代码库 > TensorFlow加载图片的方法
TensorFlow加载图片的方法
方法一:直接使用tensorflow提供的函数image = tf.gfile.FastGFile(‘PATH‘)来读取一副图片:
import matplotlib.pyplot as plt; import tensorflow as tf; % matplotlib inline #将matplotlib绘制的图像直接输出到当前交互式的框架下 image_raw_data_jpg = tf.gfile.FastGFile(‘home/ubuntu-mm/TensorFlow/Learning/D-TestJupyter/image/Train/Pic.jpg‘, ‘r‘).read() with tf.Session() as sess: img_data_jpg = tf.image.decode_jpeg(image_raw_data_jpg) #图像解码 img_data_jpg = tf.image.convert_image_dtype(img_data_jpg, dtype=tf.uint8) #改变图像数据的类型 plt.figure(1) #图像显示 plt.imshow(img_data_jpg.eval())
print sess.run(img_data_jpg)
我用的是基于Ubuntu16.04操作系统下的Jupyter来编写的程序,CPU版本(记得加% matplotlib inline就能显示出图像了)
实验的结果如下所示:
方法二:将图像加载到创建好的队列中使用tf.train.string_input_producer(),然后再加载到变量当中:
import tensorflow as tf; import matplotlib.pyplot as plt path = ‘/home/ubuntu-mm/TesorFlow/Learning/D-TestJupyter/images/Train/Pic.jpg‘ file_queue = tf.train.string_input_producer([path]) #创建输入队列 image_reader = tf.WholeFileReader() _, image = image_reader.read(file_queue) image = tf.image.decode_jpeg(image) with tf.Session() as sess: coord = tf.train.Coordinator() #协同启动的线程 threads = tf.train.start_queue_runners(sess=sess, coord=coord) #启动线程运行队列 print sess.run(image) coord.request_stop() #停止所有的线程 coord.join(threads) image_uint8 = tf.image.convert_image_dtype(image, dtype = tf.uint8) plt.imshow(image_uint8.eval())
实验结果如下所示:
TensorFlow加载图片的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。