jueves, 25 de abril de 2013

Lab. Detección de agujeros

Para esta entrada de laboratorio trabajaremos con la detección de agujeros mediante histogramas.

Para lograr esto, utilizando los histogramas se busca la intensidad de los colores del píxel en cada fila o columna de la imagen para buscar agujeros.

Es posible obtener el histograma de la mayoría de las imágenes y podemos realizar un histograma de cada uno de los colores, para calcular los niveles de iluminación, por lo que un agujero o un objeto causa una variación en la iluminación de la imagen.

Código:  


Imágenes:  

Con un solo agujero:





Con varios agujeros:






Código completo:






jueves, 18 de abril de 2013

Lab. Relleno de elipses

Con base a la entrada anterior de detección de elipses, con lo cual para esta entrada intentaremos rellenar los elipses detectados de algún color.

Las actividades con las que consta es entrada son:
  • Identificar cada círculo o elipse 
  • Rellenar con un color cualquiera 
  • Listado de áreas de las figuras y el porcentaje de la imagen 

En la entrada anterior se explica todo acerca de la detección de elipses.

Código:  


Este es el código que utilice para detectar las formas.
Código para mostrar los porcentajes de los elipses.

Ejemplos:











lunes, 15 de abril de 2013

Tarea 5: Detección de elipses

Para esta tarea realizaremos la detección de elipses en una imagen.

Para realizar esto nos basamos en el método que utiliza líneas tangentes que se encuentran en las líneas de contorno del elipse con esto se puede calcular la línea que pasa por el centro de la elipse. Para implementar esto es necesario realizar ciertos pasos antes de poder detectar los elipses en la imagen.



Lo primero es detectar los bordes de la imagen que se ha realizado en actividades anteriores

Así se detectan los bordes de la figura más fácil



Después se le aplica un filtro en los bordes para eliminar el ruido.

Al obtener este filtro se realizan las iteraciones para sacar el centro del elipse, para realizar esto es necesario saber en qué área trabajaremos por lo cual empieza a tomar pares de puntos aleatorios para sacar su punto medio y tomarlo como voto. Y sacar un promedio de los votos para determinar si es un elipse o no.

Para sacar la pendiente utilizamos los gradientes Gy y Gque son la variación de los píxeles y la inclinación de dicha pendiente. 

m=GyGx

Después se calcula el punto medio en donde se cruzan las rectas

Después se calcula el punto medio donde entre los píxeles

Y por último se calculan los tamaños de los elipses utilizando los píxeles bordes y buscando píxeles horizontales y verticales para encontrar las magnitudes del rectángulo que rodea dicho elipse

Código: