jueves, 25 de abril de 2013

Tarea#7 Vision(LAB) - Histogramas de una imagen - Python

Que tal para esta entrada se nos encargado detectar los histogramas de una imagen tomada por nosotros esto para poder detectar posibles agujeros en la misma.

Procedimiento

1 .- Se recorre toda la imagen y se suman sus filas como sus columnas y esta sumatoria de guarda para después calcular los mínimos.



2.- Con las sumatorias ya hechas procedemos a calcular los mínimos locales. Aquí hacemos uso de un umbral que es el promedio de los pixeles vecinos este umbral lo puedes calcular a prueba y error pero para imagenes donde no existe mucha claridad en la imagen se recomiendo usar uno entre 30-60 esto para eliminar los cruces donde no se encuentre nada.
Y siempre comparando que la sumatoria actual sea menor a la anterior y menor a la que sigue. Si cumplen con estas condiciones se marca como mínimo local.



Mínimos locales de la imagen,



Se hace lo mismo para calcular columnas como filas.

4.- Guardamos las lineas y columnas; buscamos en donde se cruzan y guardamos el pixel en donde cruzan.




5.- Ya cuando tenemos los pixeles en donde cruzan basta con hacer un BFS sobre cada pixel, buscando posibles agujeros. En esta parte apliquen filtros para mejorar la imagen y tendrán una detección de imagen demasiado sencilla.


Código

Les incluyo el código completo para esta tarea.





Referencias

http://elisa.dyndns-web.com/~elisa/teaching/comp/vision/agujeros.pdf
http://4imedio.blogspot.mx/2013/04/tarea-7-deteccion-de-agujeros.html#comments