Laboratorio de Visión Computacional
Actividad 8
Actividad 8
Para esta semana de laboratorio la actividad fue detectar polígonos. Para la elaboración de esta entrega seguí la serie de pasos que se explica en el PDF visto en clase del cual se hace referencia al final de esta publicación.
Los resultados de una primer prueba con un solo polígono, en este caso un cuadrado.
Imagen original.
Imágenes después de usar máscaras.
Las intersección de las líneas.
Y el resultado.
Esta es la imagen original generada, y volví a colocar cuadrados ya que con estos no tuve problemas en la detección.
Ahora los cruces de líneas, y como pueden ver ahora hay algo de ruido, ya que para un solo lado de la figura repliqué dos veces la misma línea para mover una hacia su interior y otra a su exterior, lo cual debe ser solucionado detectando correctamente que el lugar hacia donde debe trasladarse la línea es hacia donde se encuentre el fondo de la figura.
Así es la salida en la ventana que se despliega.
Y como acostumbramos, en el terminal se imprime el porcentaje de la figura, su centro detectado y como extra, en base a su número de lados detectado, la impresión del nombre del polígono.
Código
En el siguiente gist hay fragmentos importantes de mi código. Las partes que también son elementales pero que ya se han repetido en entregas anteriores no las muestro, como la parte de convolución y búsqueda BFS para la detección de formas.
Por motivos de tiempo, no me fue posible mejorar este código, por eso es algo extenso y poco modular. Tiene muchas secciones de código que se pueden mejorar, entre ellas la parte en donde se obtiene theta para determinar la orientación de cada pixel, lo que me provocó el problema de no detectar eficientemente las líneas que no son horizontales o verticales, una vez arreglado esto debería de ser posible detectar polígonos simétricos que no forzosamente sean cuadrados.
Si en algún momento modifico este código los cambios no se verán aquí en este gist, pero pueden buscar en mi repositorio por nuevas versiones.
Referencias:
Detección de Polígonos, por Elisa Schaeffer, Abril 2013
Aún con sus deficiencias quedó bastante lindo y es la única que he visto hasta ahora que usa el método que se solicitó. 10 pts.
ResponderEliminar