jueves, 24 de noviembre de 2016

Cálculo del color promedio en imágenes digitales


Preguntas y preguntas

Este ejemplo surge a partir de un trabajo sobre imágenes de naranjas. El código se puede descargar desde Github.
  • ¿Cuál fue la idea?, bien, obtener el color promedio de una sección de una naranja.
Lo que motivó el ejemplo fue lo siguiente:
  • ¿Qué sucede si tengo una naranja sana?. 
  • ¿Cuál sería el color predominante?.
  • ¿Qué sucede si tengo una naranja en mal estado?. ¿Varía su color?
Habiendo presentado lo que me llevó a probar esto, lo otro que surgió fue lo siguiente :
  •  ¿Qué espacio de color utilizo para obtener el color promedio?
Se aclara que cuando se cuenta con una imagen a color, al momento de trabajar con los pixeles, desde un pixel a otro se encuentran variaciones, algo que cuando miramos desde lejos a una imagen no lo percibimos.
Hice las pruebas tanto en el espacio de color RGB como en el espacio de color HSV.

¿Para qué sirve y en que utilizo el color promedio?

El cálculo de un color promedio, en visión de computadoras permite conocer el color predominante en un sección de la imagen. Esto puede ser utilizado como un parámetro de comparación, así como las características geométricas de un objeto. Ver (http://otroblogdetecnologias.blogspot.com/2016/11/extraccion-de-caracteristicas-en.html)

Se resalta, que las pruebas ejecutadas en el código que se ofrece fueron realizadas en imágenes recortadas a partir de imágenes de naranjas extraídas desde una base de datos pública (http://es.123rf.com/).

El ejemplo ha sido bien acotado bajo las siguientes condiciones:
  • Las imágenes de naranjas cuentan con un fondo negro, lo cual facilita el procesamiento en caso de binarización.
  • Las texturas fueron recortadas cuidadosamente de las imágenes de naranjas, las mismas no cuentan con colores distintos que podrían afectar el resultado del color promedio.
Las imágenes se trataron para que tengan un fondo negro, a manera de crear un alto contraste de colores.
Se formaron pares de imagen - textura a continuación los pares de pruebas:
  • Naranja sana, naranjaN1.jpg -> texturaN1.jpg.
  • Naranja sana, naranjaN2.jpg -> texturaN2.jpg.
  • Naranja enferma, naranjaP1.jpg -> texturaP1.jpg.
  • Naranja enferma, naranjaP2.jpg -> texturaP2.jpg.

Conclusión

Al menos, en este ejemplo didáctico, el color promedio se acercó bastante al color de la naranja (visualmente hablando), también para los ejemplos presentados se notó un cambio en el color promedio, dado que en las naranjas enfermas el color promedio contó con aportes en el color verde.

El código fuente fue realizado en Matlab, la verdad que se puede mejorar mucho la idea, incluso colocar el color promedio en una ventana. No obstante, se pueden copiar los resultados de la consola a un color picker, sea uno online o de una herramienta gráfica como InkScape

Puedes descargar el fuente desde Github.

No hay comentarios:

Publicar un comentario