如何使用tensorflow读取图片?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
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()
结果:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注天达云行业资讯频道,感谢您对天达云的支持。