NEW
NEW
______________________________________________________________
function ImageProcessingGUI
% Create GUI window
hFig = figure('Name', 'Image Processing', 'NumberTitle', 'off', ...
'Position', [300, 200, 600, 500], 'Color', [0.94, 0.94, 0.96]);
switch noiseType
case 1 % Salt & Pepper
noisyImage = imnoise(originalImage, 'salt & pepper', 0.05);
case 2 % Gaussian
noisyImage = imnoise(originalImage, 'gaussian', 0, 0.01);
case 3 % Speckle
noisyImage = imnoise(originalImage, 'speckle', 0.01);
end
switch filterType
case 1 % Median Filter
filteredImage = medfilt2(noisyImage, [3, 3]);
case 2 % Gaussian Filter
filteredImage = imgaussfilt(noisyImage, 2); % Standard deviation 2
case 3 % Average Filter
h = fspecial('average', [3 3]);
filteredImage = imfilter(noisyImage, h);
case 4 % Alpha-Trimmed Mean
alpha = 2; % Alpha value
windowSize = 3;
filteredImage = alphaTrimmedMean(noisyImage, windowSize, alpha);
case 5 % Midpoint Filter
filteredImage = midpointFilter(noisyImage, 3);
case 6 % Contraharmonic Mean
Q = 1.5; % Q constant
filteredImage = contraharmonicMean(noisyImage, 3, Q);
case 7 % Fourier Transform
filteredImage = abs(ifft2(fft2(double(noisyImage)))); % Simple
Fourier transform
end
ImageProcessingGUI