El filtro laplaciano es un filtro derivado de segundo orden utilizado en la detección de bordes, en el procesamiento de imágenes digitales. En los filtros derivados de primer orden, detectamos el borde junto con las direcciones horizontal y vertical por separado y luego combinamos ambos. Pero usando el filtro laplaciano detectamos los bordes en toda la imagen a la vez.
The Laplacian Operator/Filter is = [0 1 0; 1 -4 1; 0 1 0] here the central value of filter is negative. Or Filter is = [0 -1 0; -1 4 -1; 0 -1 0], here the central value of filter is positive. Note:The sum of all values of the filter is always 0.
Pasos:
- Lea la imagen en Matlab, usando la función imread().
- Si la imagen está coloreada, conviértala a formato RGB.
- Defina el filtro laplaciano.
- Convoluciona la imagen con el filtro.
- Muestre la imagen detectada por el borde binario.
Sintaxis:
var_name = imread(” nombre de la imagen. extensión “); //Lee la imagen en variable
ar_name = rgb2gray (old_image_var); //Convertir a escala de grises
“conv2( )” //Se realiza la convolución
“imtool( )” se utiliza para mostrar la imagen.
Ejemplo:
Matlab
% MATLAB code for % Edge detection using Laplacian Filter. k=imread("logo.png"); % Convert rgb image to grayscale. k1=rgb2gray(k); % Convert into double format. k1=double(k1); % Define the Laplacian filter. Laplacian=[0 1 0; 1 -4 1; 0 1 0]; % Convolve the image using Laplacian Filter k2=conv2(k1, Laplacian, 'same'); % Display the image. imtool(k1, []); imtool(abs(k2,[]);
Producción:
Desventajas:
- Debemos notar que los operadores de primera derivada exageran los efectos del ruido. Las segundas derivadas exagerarán el ruido el doble.
- No se proporciona información direccional sobre el borde.
Publicación traducida automáticamente
Artículo escrito por pintusaini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA