martes, 12 de febrero de 2013

Tarea 1. Detección de Bordes

Para esta tarea, se nos pidió aplicar una máscara de convolución a una matriz de pixeles de la imagen.

Por ejemplo, en la siguiente imagen podemos ver como se toma un pixel central (borde rojo) y el área de acción del kernel que son los vecinos (borde verde). El cuadro del medio muestra la máscara(kernel) que se le aplicará a la matriz de pixeles de nuestra imagen y el último cuadro muestra el resultado de la multiplicación de estas dos anteriores, es decir se multiplica el valor de cada uno de ellos por el valor correspondiente del kernel y se hace una sumatoria de los resultados

En este caso por ejemplo sería: (40*0)+(42*1)+(46*0) + (46*0)+(50*0)+(55*0) + (52*0)+(56*0)+(58*0) = 42
El procedimiento que realicé para esta tarea fue el siguiente:

1.- Convertí la imagen original en escala de grises con la subrutina que ya había hecho para el laboratorio.
2.- Apliqué la máscara Sobel horizontal y vertical para la detección de bordes
3.- Normalicé la imagen
4.- Realicé la binarización

Imagenes resultantes:

Original


Escala de grises


Máscara


Binarizado




Original


Escala de grises


Máscara


Binarizado




Original


Escala de grises


Máscara


Binarizado


Los tiempos promedio que tomaron estás imagenes para realizar este procedimiento son:

  • Primera imagen "Taz bebe": 321 x 394 pixeles tardó 4.13 segundos
  • Segunda imagen "Google": 543 x 378 pixeles tardó 6.94 segundos
  • Tercera imagen "Persona": 605 x 792 pixeles tardó 14.9 segundos



Código:


Liga a mi repositorio
https://github.com/carmensrz/VisionComputacional

1 comentario:

  1. Tendrás que trabajar un rato para que te salgan contínuos los bordes. 5 pts por la primera tarea.

    ResponderEliminar