Deteccion de bordes horizontales y verticales en una imagen

beruby - te devolvemos dinero por tus compras y reservas online
En este apartado explicamos como se hace la detección de bordes horizontales y verticales de una imagen mediante el uso de máscaras:
Para los bordes horizontales aplicamos la máscara:
[-1 -1 -1; 2 2 2; -1 -1 -1]
Para los bordes verticales aplicamos la máscara:
[-1 2 -1; -1 2 -1; -1 2 -1]
Si queremos obtener los bordes girados 45 grados o -45 grados bastaría con cambiar la máscara obteniendo:
Para 45 grados:
[-1 -1 2; -1 2 -1; 2 -1 -1]
Para -45 grados:
 [2 -1 -1; -1 2 -1; -1 -1 2]

Código en Matlab para realizar la detección de bordes:
%deteccion de los bordes horizontales y verticales de una imagen:
%%
%limpieza de las variables y cierre de las gráficas
clear all
close all
%lectura de la imagen:
Im_RGB=imread('imagen1.jpg');
Im_gray=rgb2gray(Im_RGB);
%deteccion de bordes general:
Im_edge_general=edge(Im_gray,'canny');

%deteccion de bordes horizontales
mascara_filtro=[-1 -1 -1; 2 2 2; -1 -1 -1];
Im_gray_filtrada=imfilter(Im_gray,mascara_filtro);
Im_gray_filtrada_abs=abs(Im_gray_filtrada);
Im_edge_horizontal=Im_gray_filtrada_abs>=max(Im_gray_filtrada_abs(:));
%deteccion de bordes verticales
mascara_filtro2=[-1 2 -1; -1 2 -1; -1 2 -1];
Im_gray_filtrada2=imfilter(Im_gray,mascara_filtro2);
Im_gray_filtrada_abs2=abs(Im_gray_filtrada2);
Im_edge_vertical=Im_gray_filtrada_abs2>=max(Im_gray_filtrada_abs2(:));

%representacion de los resultados
figure(1),
imshow(Im_edge_general),title('deteccion de bordes general')
figure(2),
imshow(Im_gray_filtrada),title('imagen filtrada horizontal')
figure(3),
imshow(Im_edge_horizontal),title('deteccion de bordes horizontales')
figure(4),
imshow(Im_gray_filtrada2),title('imagen filtrada vertical')
figure(5),
imshow(Im_edge_vertical),title('deteccion de bordes verticales')
 


Tras ejecutar el código obtenemos entre otras imágenes:
Imagen tras la detección de bordes general
 Imagen tras la detección de bordes horizontal
 Imagen tras la detección de bordes vertical


Entrada principal

No hay comentarios:

Publicar un comentario