miércoles, 1 de mayo de 2013

Laboratorio Visión computacional "Polígonos"

En esta ocasión, nuestra tarea fue en encontrar polígonos en imagenes o decir si es polígono, bueno empecemos.


Imagen de prueba:

Pasos:


  1. Utilizamos el ya mencionado método bfs para poder obtener los pixeles de los diferentes figuras de la imagen, y posteriormente enviarlas a nuestro método verificador de polígonos.
  2. En esta parte ya con las coordenadas especificas, seleccionamos un primer pixel donde iniciaríamos, después fuimos verificando sus vecinos si tenían una misma pendiente, esto nos indicaría si pertenecen a una misma linea en caso de que así sea las vamos guardando en una lista.
  3. Ya que el programa no encuentre mas partes de esa linea en particular, verifica si aun existen coordenadas o pixeles sin revisar y agregamos una nueva linea y repetimos el proceso anterior.
  4. Ya teniendo los segmentos de probables lineas, ahora se verifican que tanto porcentaje equivalen  al objeto original y esto nos dirá un estimado del porcentaje si es o  no un polígono.



Código para detectar las lineas


Código para detectar las lineas



Ahora con esto podríamos saber si es o no es pero no nos indica alguna información sobre que polígono es. Para esto se uso lo siguiente :

Ya teniendo los segmentos, se calculo el punto medio de cada uno de los segmentos, además del punto inicial y el punto final de cada uno de ellos.


Código para detectar puntos medios, punto inicial, punto final y centro



Código para detectar puntos medios, punto inicial, punto final y centro





Ya teniendo esto se calculo el medio de la figura y usando los puntos medios, podemos mover los segmentos de tal manera que nos ayude a comprender mas sobre la figura. Para poder trasladarlo solo se saco la diferencia de los puntos medios en "x" e "y", con respecto al punto central de la figura. Posteriormente se traslado las coordenadas finales e iniciales de los segmentos con respecto a esa diferencia.

Código de segmentos

Código de segmentos


Final:


Otra figura:






Aunque no siempre es muy exacto por diferentes factores.

Click aquí para el repositorio

Gracias por su atención



1 comentario:

  1. Pues, no es exactamente el mismo método que se pidió y al inicio hace cosas más complejas de lo necesario, está bastante decente. 9 pts.

    ResponderEliminar