martes, 19 de febrero de 2013

[VISIÓN COMPUTACIONAL] Detección de formas

La tarea para esta semana fue realizar un programa que detecte las formas dentro de una imagen, las etiquete y muestre su centro de masa.

Para eso, lo primero que necesitabamos saber era poder pintar una serie de pixeles que fueran del mismo color dentro de un área. Yo utilicé el método BFS (Breadth-first search) o al menos algo parecido que realizara la misma función.

Desarrollé la siguiente función:
Los resultados son lo s siguientes:
Imagen original
Imagen con una sección coloreada

Imagen con otra sección coloreada

El siguiente paso era hacer lo mismo pero para cada forma en la imagen. Los resultados fueron los siguientes:
Con esto ahora podría técnicamente saber el número de pixeles en la forma, por lo tanto saber cuantas formas existen en la imagen.

Me di a la tarea de buscar una imagen que mostrara mejor lo que buscaba. Entonces encontré esta imagen:

Y le apliqué el proceso de binarización para que quedara bicolor, descubrí su centro de masa y etiqueté cada objeto en la imagen, el resultado es el siguiente:

El objeto predominante lo pinté en gris para que no hubiera conflictos de color entre las formas.

El código es:
Liga al proyecto:
https://github.com/victoralex911/vision-computacional

1 comentario: