声明,文章中参考别人的内容,都已标明原文链接。
Tensorflow图像的读取、解码、显示、处理、编码、保存
1. Tensorflow读取图像文件后为什么要解码?
我们常见的图像格式有 .bmp,.gif,.jpg,.png等,而.bmp格式的图像是没有经过压缩的,其他3种都是经过编码压缩格式。所以在读取之后要进行解码还原。
2. 图像解码与编码
一张RGB三通道的彩色图像可以看成一个三维矩阵,矩阵中不同位置上的数字代表图像的像素值。然后图像在存储时并不是直接记录这些矩阵中的数字,而是经过了压缩编码。所以将一张图像还原成一个三维矩阵的过程就是解码的过程,反之就是编码了。其实如果大家熟悉opencv的话,imread和imwrite就是一个解码和编码的过程。
https://blog.csdn.net/chaipp0607/article/details/73029923
3. 代码例子解释(为了进一步理解解码的意义)
http://yueshi.me/?p=270
"""读取图片文件"""
File1 = tf.read_file('image.jpg')
"""解码图片,png格式用tf.image.decode_png,
channels=3表示RGB,1表示灰度"""
image = tf.image.decode_jpeg(file1, channels=3)
"""调整图片大小,size=[new_height, new_width]"""
image = tf.image.resize_images(image, size=[32,32])
"""转化图片转化为float32类型,并缩放到[0,1]之间,
也可使用 tf.cast(image, tf.float32)/255(一般图片类型最大值为255)"""
image = tf.image.convert_image_dtype(image, tf.float32)
下面逐句解释一下代码
file1 = tf.read_file('image.jpg')
功能:读取和输出文件中的全部内容
输入ÿ