Plugin colores

De Proyecto Butiá
Revisión del 18:56 22 abr 2014 de Aldao.andres (Discusión | contribuciones) (Desarrollo del problema)

Saltar a: navegación, buscar

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

Conclusiones

Trabajo a futuro