¿Cómo encontrar la media en los canales de imagen en PyTorch?

En este artículo, veremos cómo encontrar la media en los canales de imagen en PyTorch. Tenemos que calcular la media de una imagen a través de los canales Rojo, Verde y Azul. podemos encontrar la media en el canal de la imagen usando el método torch.mean().

método torch.mean()

El método torch.mean() se usa para encontrar la media de todos los elementos en el tensor de entrada, pero este método solo acepta la entrada como un tensor, por lo que primero tenemos que convertir nuestra imagen en un tensor PyTorch. Después de convertir, usamos este tensor PyTorch como tensor de entrada. La siguiente sintaxis se usa para encontrar la media en los canales de imagen

Sintaxis: torch.mean(input, dim)

Parámetro:

  • entrada (Tensor): Este es nuestro tensor de entrada.
  • dim (int o tupla de python:ints): el dim se usa para las dimensiones. establecemos dim = [1,2] para encontrar la media en los canales de imagen rojo, verde y azul.

Devolución: este método devuelve la media de todos los elementos presentes en el tensor de entrada.

La siguiente imagen se utiliza como ejemplo:

 

Ejemplo 1: en el siguiente ejemplo, usamos PIL para leer imágenes de la computadora y luego encontramos la media en los canales de imagen en PyTorch.

Python

# import required libraries
import torch
from PIL import Image
import torchvision.transforms as transforms
 
# Read input image
img = Image.open('img.png')
 
# create a transform
transform = transforms.ToTensor()
 
# convert the image to PyTorch Tensor
imgTensor = transform(img)
 
# Compute the mean of Image across the
# channels RGB
r, g, b = torch.mean(imgTensor, dim=[1, 2])
 
# Display Result
print("Mean for Red channel: ", r)
print("Mean for Green channel: ", g)
print("Mean for Blue channel: ", b)

Producción:

 

Ejemplo 2: en el siguiente ejemplo, usamos OpenCV para leer imágenes de la computadora y luego encontramos la media en los canales de imagen en PyTorch.

Python

# import required libraries
import torch
import cv2
import torchvision.transforms as transforms
 
# Read input image using OpenCV
img = cv2.imread('img.png')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
 
# create a transform
transform = transforms.ToTensor()
 
# convert the image to PyTorch Tensor
imgTensor = transform(img)
 
# Compute the mean of Image across the
# channels RGB
r, g, b = torch.mean(imgTensor, dim=[1, 2])
 
# Display Result
print("\n\nMean for Red channel: ", r)
print("Mean for Green channel: ", g)
print("Mean for Blue channel: ", b)

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 *