Cómo cambiar aleatoriamente el brillo, el contraste, la saturación y el tono de una imagen en PyTorch

 En este artículo, vamos a discutir cómo cambiar aleatoriamente el brillo, el contraste, la saturación y el tono de una imagen en PyTorch. podemos cambiar aleatoriamente el brillo, el contraste, la saturación y el tono de una imagen usando el método ColorJitter() del módulo torchvision.transforms.

Método ColorJitter():

El método ColorJitter() acepta imágenes PIL, imágenes de tensor y un lote de imágenes de tensor como entrada. El lote de imágenes de tensor es un tensor con forma [B, C, H, W], donde B es el número de imágenes en el lote. La imagen del tensor es un tensor PyTorch con forma [C, H, W], donde C representa el número de canales y H, W representa la altura y el ancho de la imagen, respectivamente. Este método devuelve una nueva imagen con brillo, contraste, saturación y tono cambiados aleatoriamente del rango respectivo dado. Veamos la sintaxis de este método.

Sintaxis: torchvision.transforms.ColorJitter(brillo=0, contraste=0, saturación=0, matiz=0)

Parámetro:

  • brillo: Cuánto a la fluctuación de brillo. debe ser un número no negativo.
  • contraste: cuánto hay que contrastar el jitter y también ser un número no negativo.
  • saturación: Cuánto a la saturación de fluctuación y debe ser un número no negativo.
  • hue: Cuánto a jitter hue. Debería tener 0<= matiz <= 0.5 o -0.5 <= min <= max <= 0.5.

Devolver: este método devuelve una nueva imagen con brillo, contraste, saturación y tono cambiados aleatoriamente del rango respectivo dado.

La siguiente imagen se utiliza para la demostración:

 

Ejemplo 1:

En este ejemplo, vamos a ver cómo cambiar aleatoriamente el brillo, el contraste, la saturación y el tono de una imagen usando la función ColorJitter() en PyTorch.

Python3

# 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()

Producción:

 

Publicación traducida automáticamente

Artículo escrito por mukulsomukesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *