Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Los humanos pueden distinguir alrededor de 10 millones de colores. Para percibirlos, necesitas algo conocido como paleta de colores. Una paleta de colores contiene las herramientas para mostrar la gama completa de colores visibles para el ojo humano. En el mundo real, los usa para crear diseños estéticos en papel, mientras que digitalmente los usa para agregar color a los elementos de la pantalla.

En última instancia, su computadora codifica todos los diferentes tonos que ve en su pantalla usando un formato particular. Con Python, puede desarrollar una paleta de colores codificada en RGB en solo unas pocas líneas de código gracias al módulo OpenCV y NumPy.

El módulo OpenCV y NumPy

Puede analizar imágenes y videos usando OpenCV. Es gratuito, de código abierto, fácil de usar y está repleto de bibliotecas útiles. Estos proporcionan técnicas para clasificar, ubicar y rastrear objetos en dos y tres dimensiones. Para instalar OpenCV en su entorno, abra una terminal y ejecute:

instagram viewer

pip instalar opencv-python

El módulo NumPy es otra biblioteca popular que verá que usan muchos programas de Python. NumPy, Python numérico, es un módulo que puede usar para el análisis de datos y la computación científica. Proporciona objetos de matriz n-dimensionales, así como Operaciones matemáticas que ayudan en la manipulación de estas matrices.

Para instalar NumPy en su entorno, ejecute:

pip instalar numpy

En general, utilizará OpenCV para procesar imágenes utilizando técnicas como la detección de bordes. Luego puede usar NumPy para realizar análisis de datos en la imagen procesada. Con esta combinación puedes crear y decodificar un código QR, clasificar imágenes, llevar a cabo reconocimiento óptico de caracteres y construir sistemas de videovigilancia que puedan detectar movimiento y rastrear personas en tiempo real.

Cómo construir una paleta de colores usando Python

Siga estos pasos para construir una Paleta de colores usando el módulo OpenCV y NumPy en Python.

Puede encontrar la fuente de Paleta de colores usando Python en este GitHub repositorio.

Comience importando los módulos OpenCV y NumPy. Defina una función llamada funciónvacia() que contiene la declaración de paso. La declaración de paso actúa como un marcador de posición para el código que puede escribir en el futuro. Esto es particularmente útil con funciones como createTrackbar, que usará más adelante. Requiere una función de devolución de llamada válida y puede pasar la función vacía como marcador de posición por ahora.

importar cv2
importar entumecido como notario público

definitivamentefunción vacía():
aprobar

Genere una matriz tridimensional de tamaño 512 * 512 * 3 con un tipo de datos de uint8 usando NumPy cero() función. Cada matriz constará de 512 columnas y 512 filas. uint8 representa un número entero sin signo, por lo que el programa llena la matriz con ceros.

imagen = np.ceros((512, 512, 3), np.uint8)

Establezca el nombre de la ventana que mostrará el programa y páselo al ventana nombrada() función para crear una ventana:

nombre de ventana = "Paleta de colores OpenCV"
cv2.namedWindow (nombre de ventana)

A continuación, genere tres barras de seguimiento para los componentes de color rojo, verde y azul. Puedes hacer esto usando OpenCV crear barra de seguimiento () función. En primer lugar, pase la etiqueta como rojo, azul o verde. En segundo lugar, debe pasar el nombre de la ventana donde desea colocar estas barras, por ejemplo, windowName.

El tercer parámetro es el límite mínimo de la barra de seguimiento, 0 en este caso. El cuarto parámetro especifica el valor máximo, que es 255 para un valor de color de 24 bits. El quinto y último parámetro es una función de devolución de llamada para la que createTrackbar requiere una función válida. Esta es la razón por la que creó una función vacía antes, para que actúe como marcador de posición.

cv2.createTrackbar('Azul', nombre de ventana, 0, 255, función vacía)
cv2.createTrackbar('Verde', nombre de ventana, 0, 255, función vacía)
cv2.createTrackbar('Rojo', nombre de ventana, 0, 255, función vacía)

Declare un ciclo while infinito y pase el nombre de la ventana junto con la imagen que desea mostrar a OpenCV immostrar() función. Como la imagen contiene una matriz tridimensional de ceros, el programa muestra inicialmente una pantalla negra.

Compruebe si el usuario ha pulsado la tecla de escape probando el valor de tecla de espera() contra 27 (el código ASCII para la tecla Escape). La función waitkey() muestra la ventana durante el número dado de milisegundos o hasta que presione una tecla. Al pasar uno como entrada, muestra la ventana durante un milisegundo pero se regenera debido al ciclo while infinito.

Para obtener la posición actual de la barra de seguimiento, pase el nombre de la barra de seguimiento junto con el nombre de la ventana a getTrackbarPos(). Repita este paso para los tres componentes de color separados, azul, verde y rojo. Utilice el operador de división para asignar los tres valores a la matriz de imágenes. Esto reemplazará el conjunto anterior de valores, inicialmente todos ceros, con los valores actuales según las posiciones de la barra de seguimiento.

mientras (Verdadero):
cv2.imshow (nombre de ventana, imagen)

si cv2.esperaClave(1) == 27:
romper

azul = cv2.getTrackbarPos('Azul', nombre de ventana)
verde = cv2.getTrackbarPos('Verde', nombre de ventana)
rojo = cv2.getTrackbarPos('Rojo', nombre de ventana)
imagen[:] = [azul, verde, rojo]
estampado (azul, verde, rojo)

Una vez que el usuario presiona la tecla Escape, use destruirTodasLasVentanas() para cerrar las ventanas que abrió el programa:

cv2.destroyAllWindows()

Finalmente, junte todo y ejecútelo para controlar y ver su paleta de colores.

La salida del programa de paleta de colores de Python

Al ejecutar el programa anterior, aparece una ventana que contiene tres barras de seguimiento para los colores azul, verde y rojo. Las barras de seguimiento se mueven desde un rango de 0 a 255. Cuando varíe los valores de las diferentes barras, debería ver diferentes tonos de colores en la sección a continuación.

En este primer ejemplo, puede ver la configuración de la barra azul como 0, verde como 69 y roja como 255. El color de salida resultante es una sombra de naranja/rojo. Además, la ventana del terminal muestra los valores de color como 0 69 255.

De manera similar, cuando configura la barra azul en 130, la verde en 0 y la roja en 75, obtendrá un color índigo.

Las diversas aplicaciones de OpenCV

OpenCV ofrece funciones valiosas para tareas como procesamiento de imágenes, reconocimiento de objetos, reconocimiento facial y seguimiento. Con OpenCV, puede producir aplicaciones de visión por computadora en tiempo real que serían de gran ayuda en áreas como la robótica, la automatización industrial, las imágenes médicas y los sistemas de vigilancia.

El futuro de la visión artificial es prometedor. Podrá utilizar la visión por computadora para ayudar a las personas con discapacidad visual, generar un mejor crecimiento en la agricultura, mejorar la seguridad vial utilizando autos sin conductor e incluso navegar por otros planetas, como Marte.