Deteccion bordes

6
UNIVERSIDAD DE CUNDINAMARCA PROGRAMA DE INGENIERA DE SISTEMAS INTELIGENCIA ARTIFICIAL PROFESOR: JAIRO MARQUEZ ALUMNO : NELLY ESPERANZA JIMENEZ COD: CIUDAD: CHIA FECHA: ABRIL/11/2011 ALGORITMOS DE DETECCION DE BORDES En este trabajo estudiaremos los algoritmos más utilizados para la detección de bordes en imágenes, como son los canny, sobel, prewitt, Roberts, log. Utilizaremos como imagen original la ciudad de Dubái. 1. Algoritmo de canny. En primer lugar se carga la imagen de la ciudad de Dubái, y se pasa a escala de grises. I=imread('cdubai.jpg'); II=rgb2gray(I); imshow(II); title('IMAGEN ES ESCALA DE GRISES') Realizamos el histograma de la imagen con la función imhist() Seleccionamos la región a analizar. III=II(280:800,150:950); imshow(III), title('Region de Analisis') Evaluamos el algoritmo de canny con la función edge. BW2=edge(III, 'canny');

Transcript of Deteccion bordes

Page 1: Deteccion bordes

UNIVERSIDAD DE CUNDINAMARCAPROGRAMA DE INGENIERA DE SISTEMASINTELIGENCIA ARTIFICIALPROFESOR: JAIRO MARQUEZALUMNO : NELLY ESPERANZA JIMENEZ COD:CIUDAD: CHIA FECHA: ABRIL/11/2011

ALGORITMOS DE DETECCION DE BORDES

En este trabajo estudiaremos los algoritmos más utilizados para la detección de bordes en imágenes, como son los canny, sobel, prewitt, Roberts, log. Utilizaremos como imagen original la ciudad de Dubái.

1. Algoritmo de canny. En primer lugar se carga la imagen de la ciudad de Dubái, y se pasa

a escala de grises.

I=imread('cdubai.jpg');II=rgb2gray(I);imshow(II);title('IMAGEN ES ESCALA DE GRISES')

Realizamos el histograma de la imagen con la función imhist() Seleccionamos la región a analizar.

III=II(280:800,150:950);imshow(III),title('Region de Analisis')

Evaluamos el algoritmo de canny con la función edge.

BW2=edge(III, 'canny');imshow(BW2)

Evaluamos en la misma imagen el algoritmo de prewitt.

BW1=edge(III,'prewitt');imshow(BW1)

Evaluamos la imagen con la función edge que es la que nos permite encontrar los bordes de una imagen.

BW=edge(III);imshow(BW)

Imágenes visualizadas.

Page 2: Deteccion bordes

subplot(2,3,1); subimage(I), title('imagen original');subplot(2,3,2); subimage(III), title('escala de grises');subplot(2,3,4); subimage(BW1), title('prewitt');subplot(2,3,5); subimage(BW2), title('canny');subplot(2,3,6); subimage(BW), title('funcion edge ');

Podemos observar que de las siguientes imágenes la detección de borde se hace más clara en el algoritmo de canny , ya que enmarca más los borde de la imagen, el algoritmo de prewiit la detección de borde es menor ya que este algoritmo es menos sensible al ruido.

Page 3: Deteccion bordes

2. Algoritmo de sobel. Cargamos la imagen, la pasamos a escala de grises y seleccionamos

la región analizar, en este ejercicio se analizara la misma región que se analizó en el algoritmo de canny.

I=imread('cdubai.jpg');II=rgb2gray(I);imshow(II);title('IMAGEN ES ESCALA DE GRISES')

Por medio de la función edge, aplicamos el algoritmo de sobel.

BW3=edge(III,'sobel');imshow(BW3)

El algoritmo de soble se puede detectar borde verticales y horizontales con la siguientes funciones.

BW6=edge(III,'sobel','vertical');imshow(BW6)

HorizontalesBW7=edge(III,'sobel','horizontal');imshow(BW7)

visualización de las imágenessubplot(2,2,1); subimage(II), title('imagen original');subplot(2,2,2); subimage(BW3), title('sobel');subplot(2,2,3); subimage(BW6), title('sobel vertical');subplot(2,2,4); subimage(BW7), title('sobel horizontal');

subplot(2,2,1); subimage(II), title('imagen original');subplot(2,2,2); subimage(BW3), title('sobel');subplot(2,2,3); subimage(BW6), title('sobel vertical');subplot(2,2,4); subimage(BW7), title('sobel horizontal');

Page 4: Deteccion bordes

Podemos observar que el algoritmos sobel es mucho menos intensivo en la marcación de borde comparado con el de canny, que la imagen de la ciudad de Dubái tiene mas líneas verticales que horizontales.

3. Ejemplos de otros algoritmos para la detección de bordes Algoritmo de Robert

BW4=edge(III,'roberts');imshow(BW4)

Algoritmo de LogBW5=edge(III,'log');imshow(BW5)

Visualización de las imágenes.subplot(1,3,1); subimage(II), title('imagen original');subplot(1,3,2); subimage(BW4), title('funcion robert ');subplot(1,3,3); subimage(BW5), title('funcion log ');

Page 5: Deteccion bordes