lunes, 22 de abril de 2013

Tarea 6.- Detección de agujeros

Para esta tarea lo que se pidió fue la detección de agujeros en una imagen. Aquí abajo dejo la imagen utilizada para este post. Se encargo para la clase se detectar agujeros en imágenes a partir de sus histogramas laterales de intensidades de pixeles.

Lo solicitado fue:
  • Detectar todos los agujeros de una imagen.
  • Los agujeros se marcan con bordes morado oscuro y relleno de morado claro.
    • Tonos ligeramente diferentes para cada agujero.
  • Se debe marcar el centro de cada agujero con un punto amarillo.
  • En el centro de cada agujero se agrega una etiqueta con el ID del agujero.
  • El programa al final imprime un listado que indica para cada ID, el tamaño del agujero en porcentaje al tamaño de la imagen.

Primeramente se sacaron los dos histogramas de las lineas horizontales y otra para las lineas verticales, se lee linea por linea y se va sumando los pixeles ya sea de forma horizontal o de forma vertical para obtener sus vectores. Después se saca un promedio de los histogramas y aquellas lineas que pasen el promedio son los picos. Después se obtiene donde cruzan los picos horizontales y verticales.

Estas son las imágenes con las que se trabajo.





Se hizo uso de varias taras pasadas como binarización, bfs etc.

Aquí el código de binarizacion y bfs.




Y aquí el de BFS




Aquí las imágenes binarizadas.



Aquí el código relevante.







Ahora aquí esta la captura de pantalla y su ejecución con los porcentajes  y  algunas imágenes que se obtuvieron de resultados mientras se probaban los resultados .





 






1 comentario: