Python | Visualización de imágenes en diferentes espacios de color

OpenCV (Open Source Computer Vision) es una biblioteca de visión por computadora que contiene varias funciones para realizar operaciones en imágenes o videos. Originalmente fue desarrollado por Intel, pero luego fue mantenido por Willow Garage y ahora lo mantiene Itseez. Esta biblioteca es multiplataforma, es decir, está disponible en múltiples lenguajes de programación como Python, C++, etc.

Discutamos diferentes formas de visualizar imágenes donde representaremos imágenes en diferentes formatos como escala de grises, escala RGB, Hot_map, mapa de bordes, mapa espectral, etc.

Imagen RGB:

La imagen RGB está representada por una combinación lineal de 3 canales diferentes que son R (Rojo), G (Verde) y B (Azul). Las intensidades de píxeles en este espacio de color están representadas por valores que van de 0 a 255 para un solo canal. Por lo tanto, el número de posibilidades para un color representado por un píxel es de aproximadamente 16 millones [255 x 255 x 255].

# Python program to read image as RGB
  
# Importing cv2 and matplotlib module
import cv2
import matplotlib.pyplot as plt
  
# reads image as RGB
img = cv2.imread('g4g.png')
  
# shows the image
plt.imshow(img)

Producción :

Imagen en escala de grises:

La imagen en escala de grises contiene un solo canal. Las intensidades de píxeles en este espacio de color se representan mediante valores que van de 0 a 255. Por lo tanto, el número de posibilidades para un color representado por un píxel es 256.

# Python program to read image as GrayScale
  
# Importing cv2 module
import cv2
  
# Reads image as gray scale
img = cv2.imread('g4g.png', 0) 
  
# We can alternatively convert
# image by using cv2color
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  
# Shows the image
cv2.imshow('image', img) 
  
cv2.waitKey(0)         
cv2.destroyAllWindows()

Producción :

Espacio de color YCrCb:

Y representa el componente Luminance o Luma, Cb y Cr son componentes Chroma. Cb representa la diferencia azul (diferencia del componente azul y el componente Luma). Cr representa la diferencia de rojo (diferencia del componente rojo y el componente Luma).

# Python program to read image
# as YCrCb color space
  
# Import cv2 module
import cv2
  
# Reads the image
img = cv2.imread('g4g.png')
  
# Convert to YCrCb color space
img = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
  
# Shows the image
cv2.imshow('image', img) 
  
cv2.waitKey(0)         
cv2.destroyAllWindows()

Producción :

Espacio de color HSV:

H : Hue representa la longitud de onda dominante.
S : La saturación representa tonos de color.
V : El valor representa la intensidad.

# Python program to read image
# as HSV color space
  
# Importing cv2 module
import cv2
  
# Reads the image
img = cv2.imread('g4g.png')
  
# Converts to HSV color space
img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
  
# Shows the image
cv2.imshow('image', img) 
  
cv2.waitKey(0)         
cv2.destroyAllWindows()

Producción :

Espacio de color LABORATORIO:

L – Representa la Ligereza.
A: componente de color que va del verde al magenta.
B: componente de color que va del azul al amarillo.

# Python program to read image
# as LAB color space
  
# Importing cv2 module
import cv2
  
# Reads the image
img = cv2.imread('g4g.png')
  
# Converts to LAB color space
img = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
  
# Shows the image
cv2.imshow('image', img) 
  
cv2.waitKey(0)         
cv2.destroyAllWindows()

Producción :

Mapa de borde de la imagen:

El mapa de bordes se puede obtener mediante varios filtros como laplaciano, sobel , etc. Aquí, usamos Laplaciano para generar un mapa de bordes.

# Python program to read image
# as EdgeMap
  
# Importing cv2 module
import cv2
  
# Reads the image
img = cv2.imread('g4g.png')
  
  
laplacian = cv2.Laplacian(img, cv2.CV_64F)
cv2.imshow('EdgeMap', laplacian) 
  
cv2.waitKey(0)         
cv2.destroyAllWindows()

Producción :

Mapa de calor de la imagen:

En la representación de mapa de calor, los valores individuales contenidos en una array se representan como colores.

# Python program to visualize 
# Heat map of image
  
# Importing matplotlib and cv2
import matplotlib.pyplot as plt
import cv2
  
# reads the image
img = cv2.imread('g4g.png')
  
# plot heat map image
plt.imshow(img, cmap ='hot') 

Producción :

Mapa de imagen espectral:

El mapa de imágenes espectrales obtiene el espectro de cada píxel de la imagen de una escena.

# Python program to visualize 
# Spectral map of image
  
# Importing matplotlib and cv2
import matplotlib.pyplot as plt
import cv2
  
img = cv2.imread('g4g.png')
plt.imshow(img, cmap ='nipy_spectral') 

Producción :

Publicación traducida automáticamente

Artículo escrito por Abhishek rajput 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 *