April 18, 2013

Laboratorio 5. Relleno de elipses

Para esta entrega de laboratorio se pidió detectar elipses y/o círculos utilizando el  con las siguientes tareas:
  • Identifica cada elipse/círculo individual
  • Rellénalo de un color aleatorio
  • Sigue marcando su centro con bolita & ID con etiqueta
  • Imprime un listado de los áreas de los círculos/elipses
  • En porcentaje de la imagen completa
El procedimiento que seguí fue el siguiente:

  • Preprocesar la imagen utilizando el método de convolución con las máscaras de Prewitt, normalizarla y recorrer la imagen con el algoritmo bfs para localizar los bordes de los elipses,
  • Después de esto se escogen dos puntos aleatorios que están en el borde de cada elipse, estos puntos deben ser antiparalelos y con ellos se pasa a calcular las tangentes.
  • Se calculan las intersecciones de estas tangentes y con ellas se calculan los puntos medios.
  • Luego, se dibujan muchas líneas que pasen por los puntos medios para de esta manera encontrar los posibles centros.
Cabe aclarar que para realizar esta entrega tomé como base el código de mi compañero Max.

Código



Pruebas:

Nota: los porcentajes representan lo que ocupan los bordes del elipse del total de la imagen.
Imagen Original
Prosible centro
Detección






Imagen original

Posibles centros
Detección




Imagen Original


Posibles centros


Detección


1 comment:

  1. "labratorio". Hubiera sido bueno diferenciar entre círculos y otros elipses y comprobar que no agarre otras formas. No se me hacen rellenados tampoco en tu ejemplo. 7 pts.

    ReplyDelete