martes, 26 de febrero de 2013

Tarea 3. Detección de Lineas


Para la tarea de esta semana se nos pidió detectar líneas horizontales y verticales en una imagen.

Para esto la imagen debe estar binarizada osea en blanco y negro.

El método utilizado consiste en calcular las gradientes verticales y horizontales de la imagen, para con estos poder obtener el ángulo de los pixeles de la misma. Los gradientes se calculan mediante las máscaras de convolución, que fue una de las tareas pasadas, la máscara que utilicé fue la de sobel para calcular estos gradientes.

La convolución se aplica dos veces, una vez con la matriz para obtener gradiente horizontal y la otra con la matriz para obtener gradiente vertical.

Teniendo los ángulos hacemos unas validaciones:

  • Si el gradiente x y el gradiente y son iguales a 0, no hay ángulo.
  • Si el gradiente x es igual a 255 y el gradiente y es igual a 0, entonces el ángulo será 0.
  • Si el gradiente y es igual a 0 y el gradiente x es igual a 255, entonces el ángulo será 90.
Resultados:

Imagen Original


Resultado


Imagen Original


Resultado:


Código:

1 comentario:

  1. Requiere un poco más de explicación y está en realidad un poco limitado el mecanismo de decidir los ángulos. 3 pts.

    ResponderEliminar