5 de marzo de 2013

Detección de Círculos

Visión Computacional
Tarea 4

Mi código es el mismo código que se vio en clase, solo que adaptándolo a la estructura que había estado llevando en las tareas anteriores, e incluyendo la parte para dibujar círculos encima de la imagen con ImageDraw. Pero aún tengo algunos problemas para detectar correctamente el círculo teniendo el radio definido dentro del código.

El problema puede estar en que el radio que ingreso manualmente en el código no es el correcto y por eso el programa se confunde, o que al momento de escalar la imagen para adaptarla a la ventana esta provoque que se desfacen los círculos de sus centros reales.

Les dejo las capturas de los intentos que realicé, y como pueden ver un problema más es que suele detectar centros de círculos donde no debería, pero la solución ahí podría ser cambiar la forma en que se suman los votos para los posibles centros y diferenciarlo de los centros detectados con mucho más votos que los demás.




Código


Este es el código actualizado, donde logré la detección de los círculos con radio conocido. Para poder lograrlo tuve que crear una rutina que crea los círculos por separado, y además cambié las máscaras para obtener el gradiente.


Así es la salida obtenida al correr el programa, sin la necesidad de algún parámetro adicional.


Referencias:
http://elisa.dyndns-web.com/~elisa/teaching/comp/vision/circulo.py

1 comentario:

  1. Falta que subas el código que me mostraste. El ruido se puede deber a varios aspectos: transformadas erróneas o faltantes de coordenadas, umbral mal elegido para separar borde de fondo o mal mecanismo de aglomeración de votos. 3 pts.

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.