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]