- El primer paso fue sacar sacar los bordes de los objetos con el filtro laplaciano
- Después se binariza:
- Se hace un recorrido BFS por cada contorno de la figura y se guarda figura por figura.
- Ahora se saca el gradiente de cada pixel de contorno con la formula siguiente para no hacerlo de toda la imagen y no se tarde tanto:
- Después que se tienen todos los angulo se comienzan a agrupar los que tienen ángulos iguales para obtener las líneas que son continuas:
Sin embargo mi filtro no detecta muy bien los angulos de algunas lineas continuas hay un problema, que no puede detectar todas las lineas.
Este es el código completo:
Para la detección de los elipses los centros los detecte tomando votos como otras veces, pero hay algunos errores en los centros, pero creo que va por buen camino para poder clasificarlos:
Sería mejor probar primero con una figura muy limpia con un sólo polígono. También es importante recordar que este método únicamente funciona con polígonos regulares. Incluir otras cosas en la imagen de entrada naturalmente aumenta mucho el ruido presente. 5 pts.
ResponderEliminar