How would you apply a 7 x 7 Laplacian of Gaussian filter on an image using the Fourier transform in MATLAB?
1 min readOct 17, 2019
I was struggling with my MATLAB Assignment help and then a good friend told me about MatlabSolutions.com website and they gave me the best Assignment help ever. I hope to always count on the quality and efficiency of your services.
- I = imread(‘moon.tif’);
- % Fourier filter must have equal size
- laplacian = zeros(size(I));
- % Placing our ‘Mexican hat’ in the left upper corner:
- laplacian(1:7,1:7) = […
- 0, 0,-1,-1,-1, 0, 0;…
- 0,-1,-3,-3,-3,-1, 0;…
- -1,-3, 0, 7, 0,-3,-1;…
- -1,-3, 7,24, 7,-3,-1;…
- -1,-3, 0, 7, 0,-3,-1;…
- 0,-1,-3,-3,-3,-1, 0;…
- 0, 0,-1,-1,-1, 0, 0]/48;
- % Shifting the filter’s center to the [1,1] index:
- laplacian = circshift(laplacian,-3*[1,1]);
- % Apply convolution theorem (multiply in Fourier domain)
- LapFilteredImage = real(ifftn(fftn(I).*fftn(laplacian)));
- % Show results:
- figure;
- subplot(1,2,1); imagesc(I); colormap gray;
- subplot(1,2,2); imagesc(LapFilteredImage); colormap gray;