jueves, 18 de abril de 2013

Laboratorio 6

Laboratorio 6 - Relleno de elipses / círculos

Hola, esta entrada corresponde a la actividad número 6 del laboratorio de Visión Computacional. La actividad consiste en el relleno de elipses y círculos.

Para realizar esta actividad generé elipses con centros y radios (menores y mayores) con valores aleatorios, luego de generar los elipses obtuve las coordenadas de el borde de cada elipse generado, desde 0° hasta 360° mediante las siguiente ecuaciones:

            puntox = centrox + (radiox*cos(angulo))
            puntoy = centroy + (radioy*sin(angulo))

Luego esas coordenadas las uso para recalcar el borde del elipse y usar bfs para rellenar cada uno de los elipses. Seguido de eso pongo puntos en los centros de cada elipse, además de su ID (también en el centro). Al final calculo los porcentajes que ocupa cada elipse con respecto a las dimensiones de la imagen completa.

Bien, al iniciar el programa, tú decides el número de elipses a poner, luego genero los centros y radios aleatoriamente (como lo mencioné anteriormente) de la siguiente manera:


Después mi programa pasa a dibujar cada uno de los elipses con los valores retornados por la función orígenes, esto lo hace mi función dibujar:


 
Además de dibujar los elipses también remarca el contorno de los mismos usando las coordenadas obtenidas del borde (por medio de las ecuaciones antes mencionadas). La función dibujar también rellena mis elipses mandando llamar a bfs, esta misma función marca los centros en color azul y pone las etiquetas con el ID.



Al final calculo los porcentajes de cada elipse con respecto a las dimensiones de la imagen completa:


Ahora les muestro los resultados obtenidos.



Prueba 1.

No se aprecia muy bien el centro de cada elipse, pero si lo marqué con un pixel en azul (se puede corroborar en el código).




Prueba 2.

Pueden notar (en terminal) que paso como parámetro el número de elipses a plasmar. Igual, no se nota el pixel azul central, pero si está presente.





Prueba 3.




Extra.

Bueno, para su deleite, les dejo un arte abstracto que generé pasando un parámetro de 60 elipses. 


Esto es todo por esta actividad.

Liga a mi repositorio: https://github.com/eddypre/VisionTriana

Cualquier duda o aclaración pueden dejarla en comentarios.

Saludos a todos! 

1 comentario:

  1. Hubiera sido bueno con el BFS determinar si la zona que se rellena en realidad es no o es un elipse y calcular sus semidiámetros. 8 pts.

    ResponderEliminar