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