miércoles, 8 de mayo de 2013

Lab. Visión detección de esquinas


En esta semana se nos encargo detectar las esquinas de los polígonos en la imagen.
La parte básica: detectar las esquinas con el método de diferencia de filtro mediano y ya la parte avanzada: teniendo las esquinas, podemos sacar un “wire-frame” al borde.



En base a las esquinas que se detectaran y mediante sus bordes, y  esas esquinas se unen con segmentos de lineas rectas recorriendolas en un orden que sigue el borde.

 Detección de esquinas con un filtro mediano
• Calcular una versión con filtro de mediano de la imagen original.
• Sacar la diferencia entre la imagen original y el resultado del filtro.
• El chiste es primero disminuir el ruido en la imagen. 
• Por ejemplo eliminando ruido tipo sal-pimienta.
• Evita que pixeles que son ruido se resalten como  esquinas.

Estas son algunas imágenes utilizadas de prueba





.




Para las esquinas se saco la diferencia entra la imagen original y la filtrada . solo es una resta como las que ya se habían echo en tareas anteriores y se hace uso te código de tareas pasadas donde se aplica normalizacion y una binarizacion.

Aquí pueden observarse las esquinas de las dos figuras ,como se puede observar el circulo es omitido ya que no contiene esquinas.













Ahora se procede arealizar un recorrido "wire-frame" , este tipo de métodos ya fue usado en tareas pasadas para sacar los bordes y como estas esquinas están dentro de ellas nos son de mucha utilizad para sacar los puntos X, Y donde se encuentran y aplicamos un recorrido bfs.


Después de todos los pasos estos son los resultados.


Aquí dejo el código relevante.



Por alguna razón algunas veces el punto medio de la figura lo ponía equivocado 

Aquí otro ejemplo.







Creo que se en esta parte se podría hacer alguna condición  que si la imagen es de mas grande de tantos pixeles , se cambie automáticamente el tamaño de la letra y del centro porque aveces era muy grande como el ejemplo de arriba y apenas se alcanzaba a distinguir y tenia que mover manualmente al tamaño.

1 comentario:

  1. Si hubieras asistido clase o lab, sabrías que el wire-frame no era regresar el borde de la imagen original sino unir los puntos con segmentos de rectas. 7 pts.

    ResponderEliminar