欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tensorflow图像调整大小

程序员文章站 2022-05-24 11:21:54
...

一般来说,网络上获取的图像大小不固定,但神经网络输入节点的个数是固定的,所以在将图像的像素作为输入提供给神经网络之前,需要先将图像的大小统一。

import matplotlib.pyplot as plt
import tensorflow as tf
#读入图像的原始数据
image_raw_data = tf.gfile.FastGFile("F:/input.jpeg", 'rb').read()
with tf.Session() as sess:
    #将图像使用jpeg的格式解码从而得到图像对应的三维矩阵,解码之后的结果为一个张量
    img_data = tf.image.decode_jpeg(image_raw_data)
    #输出解码之后的三维矩阵
    #print (img_data.eval())
    #使用pyplot工具可视化得到的图像
    plt.imshow(img_data.eval())
    plt.show()
    #调整图像大小
    resized = tf.image.resize_images(img_data,[300, 300], method=0)
    #print (resized.eval())
    #image.encode_png函数接受的数据类型为uint8,因此需要转换数据类型
    retype = tf.cast(resized, tf.uint8)
    #打印调整格式后的图像,直接绘制转换数据类型前的数据即float数据会报错
    plt.imshow(retype.eval())
    plt.show()
    #重新编码图像
    encoder_image = tf.image.encode_png(retype)
    with tf.gfile.GFile("F:/output.png", 'wb') as f:
        f.write(encoder_image.eval()) 

如下为在Jupyter中编码的记录:

Tensorflow图像调整大小

相关标签: Tensorflow