Plugin colores
Contenido
Integrantes
- Andrés Aldado
- Alejandro Fontes
- Kyria Márquez
Actualmente estamos
Optimizando el reconocimiento de colores a través de la cámara.
Documentación
Introducción
A continuación presentamos el proyecto Plugin para detección de Colores. Aquí se busca permitir al usuario interactuar con la cámara de sensor de colores de manera ágil, amigable e interactiva. Dando la posibilidad a usuarios utilizar estructuras de control y decidir acciones en base a resultados obtenidos.
Motivación
Objetivos
- Reconocer el color predominante en un escenario mediante la cámara web de un PC de manera eficiente utilizando libreria pygame.
- Lograr un conjunto de funcionalidades que permita a los usuarios de manera ágil y amigable utilizar la cámara como sensor de color comparando el resultado obtenido con la paleta de colores nativa. Permitiendo tomar decisiones si el resultado obtenido es el esperado e interactuando con el resto de las funcionalidades de la paleta.
Desarrollo del problema
- Configuración del entorno: A continuación se detallan los requisitos, dependencias y pasos para utilizar las funcionalidades del plugin para detección de colores a través de la cámara.
- Dependencias: gcc, git, gettext, libusb-devel, sugar-emulator -
- Re elevamiento de funcionalidades y algoritmos existentes
Se probaron diferentes plugins que actualmente existen en la plataforma butia, entre ellos observamos el comportamiento del plugin followme y reconocimiento de marcas. De estos dos plugins decidimos basarnos en followme para lograr concretar la funcionalidad deseada.
Dentro de los algoritmos existentes en la web encontramos muchos desarrollos en lenguaje C o matlab. Algunos de estos son Euclester o Mahalanobis. Según algunas comparaciones de los resultados el algoritmo de Mahalanobis es mas efectivo que Euclester. Estos dos fueron descartados porque decidimos trabajar con la librería pygame y numpy.
Librería pygame, de esta libreria utilizamos las siguientes funciones:
average_color: esta función devuelve el promedio de color en un cuadrado que fue seteado.
Librería numpy:
numpy.array: transforma un arrays en un vectores y realizar calculos vectoriales.
Libreria math: Provee funciones para hacer calculos matemáticos. Los calculos que incluimos y utilizamos con esta fueron raiz, cuadrado.
- Reelevamiento de funcionalidades y algoritmos existentes
- Implementación de nuevas funcionalidades