如何在PyTorch中随机改变图像的亮度、对比度、饱和度和色调

如何在PyTorch中随机改变图像的亮度、对比度、饱和度和色调

在这篇文章中,我们将讨论如何在PyTorch中随机改变图像的亮度、对比度、饱和度和色调。我们可以通过使用Torchvision.transforms模块的 ColorJitter() 方法随机改变图像的亮度、对比度、饱和度和色调。

ColorJitter()方法。

ColorJitter()方法接受PIL图像、张量图像和一批张量图像作为输入。这批张量图像是一个形状为[B, C, H, W]的张量,其中B是这批图像的数量。张量图像是一个形状为[C, H, W]的PyTorch张量,其中C代表通道的数量,H, W分别代表图像的高度和宽度。该方法返回一个新的图像,该图像的亮度、对比度、饱和度和色调在给定的各自范围内随机变化。让我们看看这个方法的语法。

语法: torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0)

参数:

  • brightness: 要抖动多少亮度。它必须是非负数。
  • contrast: 对比度要抖动多少,它也是一个非负数。
  • saturation: 饱和度的抖动程度,它应该是一个非负数。
  • hue: 抖动多少色调。它应该是0<=色调<=0.5或-0.5<=最小<=最大<=0.5。

返回值: 这个方法返回一个新的图像,其亮度、对比度、饱和度和色调在给定的各自范围内随机变化。

下面的图片是用来演示的。

如何在PyTorch中随机改变图像的亮度、对比度、饱和度和色调

示例1:

在这个例子中,我们将看到如何使用PyTorch中的ColorJitter()函数来随机改变图像的亮度、对比度、饱和度和色调。

# import required libraries
import torch
import torchvision.transforms as transforms
from PIL import Image
  
# Read the image from computer
input_img = Image.open('img.png')
  
# define a transform
transform = transforms.ColorJitter(
    brightness=0.5, contrast=1, saturation=0.1, hue=0.5)
  
# apply the above transform on image
output_img = transform(input_img)
  
# display result
output_img.show()

输出:

如何在PyTorch中随机改变图像的亮度、对比度、饱和度和色调

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程