Identificación de colores en imágenes usando Python – OpenCV

Una biblioteca de código abierto en Python, OpenCV se usa básicamente para el procesamiento de imágenes y videos. No solo es compatible con cualquier sistema, como Windows, Linux, Mac, etc., sino que también se puede ejecutar en cualquier lenguaje de programación como Python, C++, Java, etc. OpenCV también le permite identificar el color en las imágenes. ¿No sabes cómo encontrar estos colores en las imágenes?

Reconocimiento de color en imágenes

Un monitor o pantalla de TV genera básicamente tres tipos de colores, es decir, rojo, verde y amarillo. Pero la combinación e intensidades de estos tres colores hacen varios colores. Por lo tanto, cada color tiene su código de color HSV único . Para encontrar el color especificado en la imagen dada, necesitamos usar el límite inferior y superior de ese color.

Ejemplo: para encontrar el color verde en la imagen, necesitamos especificar el código de color HSV inferior y superior para el color verde de la siguiente manera.

lower=np.array([50, 100,100])
upper=np.array([70, 255, 255])

¿Cómo identificar el color en OpenCV?

Tratemos de implementar prácticamente este método. Por ejemplo, considere la fuente de la página dada a continuación. En este código fuente, estamos encontrando el color verde en la imagen de formas.jpg . La imagen utilizada en el ejemplo dado a continuación. 

Puede descargarlo y guardarlo en la misma carpeta donde guardó el archivo python en el que está escribiendo actualmente. 

Implementación:

Python

# Python program to identify
#color in images
  
# Importing the libraries OpenCV and numpy
import cv2
import numpy as np
  
# Read the images
img = cv2.imread("Resources/shapes.jpg")
  
# Resizing the image
image = cv2.resize(img, (700, 600))
  
# Convert Image to Image HSV
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
  
# Defining lower and upper bound HSV values
lower = np.array([50, 100, 100])
upper = np.array([70, 255, 255])
  
# Defining mask for detecting color
mask = cv2.inRange(hsv, lower, upper)
  
# Display Image and Mask
cv2.imshow("Image", image)
cv2.imshow("Mask", mask)
  
# Make python sleep for unlimited time
cv2.waitKey(0)

Producción:

Encontrar el código HSV del código RGB

¿No sabes cómo encontrar este código de color único HSV? Simplemente escriba este programa a continuación para averiguar el código de color HSV del código de color RGB. Puede elegir el código de color RGB del color que desee desde aquí . Después de encontrar el código RGB para el color que desea encontrar, escriba este programa en el código HSV para ese color. 

Ejemplo: en el siguiente código fuente, hemos encontrado el valor HSV para el color verde. El valor RGB para el color verde es [0, 255, 0].

Python

# Python programs to find
# unique HSV code for color
  
# Importing the libraries openCV & numpy
import cv2
import numpy as np
  
# Get green color
green = np.uint8([[[0, 255, 0]]])
  
# Convert Green color to Green HSV
hsv_green = cv2.cvtColor(green, cv2.COLOR_BGR2HSV)
  
# Print HSV Value for Green color
print(hsv_green)
  
# Make python sleep for unlimited time
cv2.waitKey(0)

Producción:

Una vez que haya encontrado el código HSV único para un color en particular, obtenga el límite HSV inferior y el límite HSV superior de ese color siguiendo los pasos a continuación.

lower = [h-10, 100, 100]
upper = [h+10, 255, 255]

Ejemplo: Para el color verde, el código de color HSV es [60, 255, 255]. Por lo tanto, el límite inferior y superior de HSV de ese color será el siguiente.

lower = [50, 100, 100]
upper = [70, 255, 255]

Publicación traducida automáticamente

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