Tensorflow---Tensorflow中的图片数据增强的函数API说明

一、代码运行环境

Tensorflow-gpu==2.4.0

Python==3.7

二、此博客测试原图片如下:

测试原图

三、此博客的演示代码如下:

import tensorflow as tf
import os
import matplotlib.pyplot as plt

# 环境变量的准备
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'


# 图像处理与数据增强处理
def deal_image_by_tensorflow(path):
    image = tf.io.read_file(path)  # 文件的读取
    image = tf.image.decode_jpeg(image, channels=3)  # 对图片进行相应的解码,channels=3代表图片是三通道
    # image = tf.image.random_flip_up_down(image)  # 二分之一概率进行上下翻转
    # image = tf.image.random_flip_left_right(image)  # 二分之一概率进行左右翻转
    # image = tf.image.random_contrast(image, 0, 100)  # 随机调整图像的对比度
    # image = tf.image.random_crop(image, [128, 128, 3])  # 随机进行图片的裁剪
    # image = tf.image.random_hue(image, 0.4)  # 用随机因子调整RGB图像的色调,max_delta必须在间隔[0, 0.5]
    # image = tf.image.random_saturation(image, 0, 100)  # 用随机因子调整图像的饱和度
    # image = tf.image.random_jpeg_quality(image, 0, 25)  # 用随机因子调整图像的编码质量
    image = tf.image.resize(image, [256, 256])
    # image = tf.image.random_brightness(image, 100)  # 随机对原图进行亮度调整,这里的范围是-99~99
    image = tf.cast(image / 256, tf.float32)
    plt.imshow(image)
    plt.savefig('result.jpg')
    plt.show()


if __name__ == '__main__':
    deal_image_by_tensorflow(r'test.jpg')

四、数据增强函数如下:

1. tf.image.random_flip_up_down()

函数说明:以二分之一的概率使原图进行上下的翻转操作,否则进行原图输出。

tf.image.random_flip_up_down(
    image,   #需要进行处理的图片,shape需要为[height, width, channels]
    seed=None #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

2. tf.image.random_flip_left_right()

函数说明:以二分之一的概率使原图进行左右的翻转操作,否则进行原图输出。

tf.image.random_flip_left_right(
    image, #需要进行处理的图片,shape需要为[height, width, channels]
    seed=None  #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

3. tf.image.random_contrast()

函数说明:随机的对原图的对比度进行调整,调整范围在两个参数之间。

tf.image.random_contrast(
    image,  #具有3个或更多维度的图像张量
    lower,  #浮点型,随机对比因子的下限
    upper,  #浮点型,随机对比因子的上限
    seed=None  #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

4. tf.image.random_crop()

函数说明:对于输入的图像进行随机的裁剪,裁剪之后的尺寸有参数决定。

tf.image.random_crop(image,  #输入的原图张量
                     [128, 128, 3]  #被裁剪之后的尺寸
                     seed=None  #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

5. tf.image.random_brightness()

函数说明:随机的调整输入图片的亮度。

tf.image.random_brightness(
    image,   #具有3个或更多维度的图像张量
    max_delta,  #float类型,必须是非负的
    seed=None   #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

6. tf.image.random_hue()

函数说明:随机对输入的图片进行色调的调整。

tf.image.random_hue(
    image,   #具有3个或更多维度的图像张量
    max_delta,   #在区间[-max_delta, max_delta]随机调整图像的色调,max_delta必须在间隔[0, 0.5]中
    seed=None   #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

7. tf.image.random_saturation()

函数说明:随机调整输入图像的饱和度。

tf.image.random_saturation(
    image,   #具有3个或更多维度的图像张量
    lower,   #浮点型,随机饱和因子的下界
    upper,   #浮点型,随机饱和因子的上界
    seed=None   #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

8. tf.image.random_jpeg_quality()

函数说明:随机调整输入图像的编码质量。

image = tf.image.random_jpeg_quality(image,   #具有3个或更多维度的图像张量
                                     min_jpeg_quality,   # 随机图片质量的下限
                                     max_jpeg_quality,   #随机图片质量的上限
                                     seed=None   #一个Python整数,用于创建一个随机种子
)

处理结果:
处理结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

水哥很水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值