Método RandomResizedCrop() en Python PyTorch

En este artículo, vamos a discutir el método RandomResizedCrop() en Pytorch usando Python.

Método RandomResizedCrop()

El método RandomResizedCrop() del módulo torchvision.transforms se usa para recortar un área aleatoria de la imagen y cambiar el tamaño de esta imagen al tamaño dado. Este método acepta tanto PIL Image como Tensor Image. La imagen del tensor es un tensor PyTorch con forma [C, H, W], donde C representa una cantidad de canales y H, W representa la altura y el ancho respectivamente. Este método devuelve una imagen recortada aleatoriamente. 

Sintaxis:  torchvision.transforms.RandomResizedCrop(tamaño, escala, proporción)

Parámetros:

  • tamaño: tamaño de recorte deseado de la imagen.
  • escala: este parámetro se utiliza para definir los límites superior e inferior del área aleatoria.
  • ratio: este parámetro se utiliza para definir los límites superior e inferior de la relación de aspecto aleatoria.

Retorno: este método devolverá la imagen recortada aleatoriamente del tamaño de entrada dado.

La siguiente imagen se utiliza para la demostración:

 

Ejemplo 1:

En este ejemplo, estamos transformando la imagen con una altura de 300 y un ancho de 600.

Python3

# import required libraries
import torch
import torchvision.transforms as transforms
from PIL import Image
  
# Read image
image = Image.open('pic.png')
  
# create an transform for crop the image
# 300px height and 600px wide
transform = transforms.RandomResizedCrop(size=(300, 600))
  
# use above created transform to crop
# the image
image_crop = transform(image)
  
# display result
image_crop.show()

Producción:

RandomResizedCrop() Method in Python PyTorch

 

Ejemplo 2:

En este ejemplo, recortamos una imagen en una ubicación aleatoria con la escala esperada de 0,2 a 0,8.

Python3

# import required libraries
import torch
import torchvision.transforms as transforms
from PIL import Image
  
# Read image
image = Image.open('a.png')
  
# create an transform for crop the image
transform = transforms.RandomResizedCrop(size=(300, 600), 
                                         scale=(0.2, 0.8))
  
# use above created transform to crop
# the image
image_crop = transform(image)
  
# display result
image_crop.show()

Producción:

RandomResizedCrop() Method in Python PyTorch

 

Ejemplo 3:

En este ejemplo, recortamos una imagen en una ubicación aleatoria con la proporción esperada de 0,5 a 1,08.

Python3

# import required libraries
import torch
import torchvision.transforms as transforms
from PIL import Image
  
# Read image
image = Image.open('a.png')
  
# create an transform for crop the image
transform = transforms.RandomResizedCrop(
    size=(300, 600), scale=(0.2, 0.8), ratio=(0.5, 1.08))
  
# use above created transform to crop
# the image
image_crop = transform(image)
  
# display result
image_crop.show()

Producción:

RandomResizedCrop() Method in Python PyTorch

 

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 *