En lugar de solo buscar diferencias en los gradientes, ahora utilizo la función arctan de python (math.atan) que dependiendo de los gradientes x o y se emplea de una o de otra manera.
La imagen de prueba la creé utilizando paint online usando lineas negras.
La imagen queda de la siguiente mantera:
Se puede observar como las diagonales no son perfectas, esto es debido a que en realidad las diagonales son secuencias de lineas horizontales o verticales apiladas.
Ahora hay que separar las lineas, debido a que por ahora no sabemos si se trata de segmentos separados.
Para eso se utiliza BFS que ya había utilizado en entregas anteriores, con la ayuda de un poco de dilatación. El resultado es el siguiente:
Despues de eso solo pinté en la imagen original los pixeles pertenecientes al contorno de cada linea que estan en la imagen modificada:
Código:
Liga al proyecto:
https://github.com/victoralex911/vision-computacional
Bastante bien; 9 pts.
ResponderBorrar