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