Tensorflow图像预处理(1)解码和编码

#jpeg解码和编码
import matplotlib.pyplot as plt

image_raw_data=tf.gfile.FastGFile("pic/ma.jpg","rb").read()          #读图    图片不是utf8编码的话,就需要改成rb而不是r

with tf.Session() as sess:
    img_data=tf.image.decode_jpeg(image_raw_data)                   #解码
    print(img_data.eval())
    plt.imshow(img_data.eval())                                       #展示
    plt.show()
    encoded_image=tf.image.encode_jpeg(img_data)
    with tf.gfile.GFile("pic/output_ma.jpg","wb")as f:              #编码再写入
        f.write(encoded_image.eval())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TensorFlow图像分割UNet是一种用于图像分割任务的深度学习模型。UNet模型结构由编码器和解码器组成,编码器用于提取图像的特征,解码器用于将特征映射回原始图像尺寸,并生成分割掩码。 为了实现图像分割任务,可以使用以下步骤: 1. 导入TensorFlow相关包和模块,如预处理模块、数据集模块和模型模块。 2. 加载和预处理图像数据,可以使用预定义的函数来调整图像大小和进行归一化处理。 3. 构建UNet模型,可以使用TensorFlow的Keras API来定义模型结构。 4. 编译模型,设置损失函数和优化器。 5. 训练模型,使用训练数据集进行模型训练。 6. 进行推理,使用训练好的模型对新的图像进行分割预测。 7. 可以使用可视化工具如Matplotlib来显示分割结果。 下面是一个示例推理脚本,用于使用训练好的UNet模型对图像进行分割预测: ``` import tensorflow as tf import numpy as np import matplotlib.pyplot as plt import cv2 model = tf.keras.models.load_model('model.h5') img = '17.jpg' img = cv2.resize(cv2.imread(img), (572, 572)) / 255. img = np.expand_dims(img, 0) pred = model.predict(img) pred = np.argmax(pred\[0\], axis=-1) pred\[pred == 1\] = 255 cv2.imwrite('result.jpg', pred) plt.imshow(pred) plt.show() ``` 此外,还可以定义加载和预处理图像数据的函数,如下所示: ``` def load_image(datapoint): input_image = tf.image.resize(datapoint\['image'\], (128, 128)) input_mask = tf.image.resize(datapoint\['segmentation_mask'\], (128, 128)) input_image, input_mask = normalize(input_image, input_mask) return input_image, input_mask ``` 这个函数可以用于加载和预处理数据集中的图像和分割掩码。 希望这些信息对你有帮助! #### 引用[.reference_title] - *1* *3* [图像分割之Unet网络详解](https://blog.csdn.net/qq_28531269/article/details/120875597)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [TensorFlow实现Unet遥感图像分割](https://blog.csdn.net/jameschen9051/article/details/122153734)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值