Laplacian Filter using Matlab
Last Updated :
06 Dec, 2022
Laplacian filter is a second-order derivative filter used in edge detection, in digital image processing. In 1st order derivative filters, we detect the edge along with horizontal and vertical directions separately and then combine both. But using the Laplacian filter we detect the edges in the whole image at once.
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.
Steps:
- Read the image in Matlab, using imread() function.
- If the image is colored then convert it into RGB format.
- Define the Laplacian filter.
- Convolve the image with the filter.
- Display the binary edge-detected image.
Syntax:
var_name = imread(” name of image . extension “); //Read the image in variable
ar_name = rgb2gray ( old_image_var); //Convert into grayscale
“conv2( )” //Convolution is performed
“imtool( )” is used for displaying image.
Example:
Matlab
k=imread( "logo.png" );
k1=rgb2gray(k);
k1=double(k1);
Laplacian=[0 1 0; 1 -4 1; 0 1 0];
k2=conv2(k1, Laplacian, 'same' );
imtool(k1, []);
imtool(abs(k2,[]);
|
Output:
Figure: Input Image
Figure: Output image after Edge detection
Disadvantages:
- We should note that first derivative operators exaggerate the effects of noise. Second derivatives will exaggerate noise twice as much.
- No directional information about the edge is given.
Share your thoughts in the comments
Please Login to comment...