Tensorflow图像调整大小

本文介绍如何使用TensorFlow统一网络获取的图像大小,以便于输入到神经网络进行处理。具体步骤包括读取图像、解码JPEG格式的图像数据、调整图像大小至指定尺寸、重新编码图像并保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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中编码的记录:


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汀桦坞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值