tensorflow里面给出了一个函数用来读取图像,不过得到的结果是最原始的图像,是咩有经过解码的图像,这个函数为tf.gfile.FastGFile(‘path', ‘r').read()。如果要显示读入的图像,那就需要经过解码过程,tensorflow里面提供解码的函数有两个,tf.image.decode_jepg和tf.image.decode_png分别用于解码jpg格式和png格式的图像进行解码,得到图像的像素值,这个像素值可以用于显示图像。如果乜有解码,读取的图像是一个字符串,没法显示。
例如:
import matplotlib.pyplot as plt; import tensorflow as tf; image_raw_data_jpg = tf.gfile.FastGFile('11.jpg', 'r').read() image_raw_data_png = tf.gfile.FastGFile('1.png', '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) #改变图像数据的类型 img_data_png = tf.image.decode_png(image_raw_data_png) img_data_png = tf.image.convert_image_dtype(img_data_png, dtype=tf.uint8) plt.figure(1) #图像显示 plt.imshow(img_data_jpg.eval()) plt.figure(2) plt.imshow(img_data_png.eval()) plt.show()
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。