tensorflow里面给出了一个函数用来读取图像,不过得到的结果是最原始的图像,是咩有经过解码的图像,这个函数为tf.gfile.FastGFile(‘path', ‘r').read()。如果要显示读入的图像,那就需要经过解码过程,tensorflow里面提供解码的函数有两个,tf.image.decode_jepg和tf.image.decode_png分别用于解码jpg格式和png格式的图像进行解码,得到图像的像素值,这个像素值可以用于显示图像。如果乜有解码,读取的图像是一个字符串,没法显示。
例如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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() |
结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/uestc_c2_403/article/details/72689908