You are on page 1of 2

A5 Spatial filtering

Code :
inputImage = imread('batman.jpeg');

if size(inputImage, 3) == 3
inputImage = rgb2gray(inputImage);
end

% Display the original image


figure;
subplot(3, 3, 1);
imshow(inputImage);
title('Original Image');

linearFilterSize = 8;

% 2D Box (Mean) Filter (blur effect)


boxFilter = fspecial('average', [linearFilterSize, linearFilterSize]);
outputBox = imfilter(inputImage, boxFilter);
subplot(3, 3, 2);
imshow(outputBox);
title('Box (Mean) Filter');

% Weighted Average Filter


weightedFilter = fspecial('disk', linearFilterSize);
outputWeighted = imfilter(inputImage, weightedFilter);
subplot(3, 3, 3);
imshow(outputWeighted);
title('Weighted Average Filter');

% Nonlinear Smoothing Filters


nonlinearFilterSize = 7; % Adjust the filter size as needed

% Median Filter
outputMedian = medfilt3(inputImage, [nonlinearFilterSize, nonlinearFilterSize,3]);
subplot(3, 3, 4);
imshow(outputMedian);
title('Median Filter');

% Min Filter
outputMin = ordfilt2(inputImage, 1, ones(nonlinearFilterSize));
subplot(3, 3, 5);
imshow(outputMin);
title('Min Filter');

% Max Filter
outputMax = ordfilt2(inputImage, nonlinearFilterSize^2,
ones(nonlinearFilterSize));
subplot(3, 3, 6);
imshow(outputMax);
title('Max Filter');

Output :

You might also like