Matlab script code for Adaptive median fitering
Show older comments
I need a simple matlab script code for adaptive median filtering with no errors.I have tried many codes but failed to execute a single one.Also I don't know what is a mex file and how to convert the code into a mex file.
The code will have to able to process image of any size and remove the noise associated with it.
Any help will be highly appreciated.
Thank you.
6 Comments
piyush kant
on 18 Apr 2013
thanx bro
Image Analyst
on 18 Apr 2013
Edited: Image Analyst
on 18 Apr 2013
You're welcome. Please officially mark as "Accepted" to thank me.
haritha c
on 27 Oct 2015
Image Analyst
on 27 Oct 2015
I'll attached demo scripts to my Answer below.
reena meshram
on 27 Apr 2016
what is the coding in smf cmf amf value in noisey image
Image Analyst
on 27 Apr 2016
I have no idea what those acronyms are.
Answers (2)
Image Analyst
on 31 Mar 2013
0 votes
What kind of adaption is being done? I have one that removes salt and pepper noise if you want that. It is just straight MATLAB - no mex files needed.
5 Comments
Image Analyst
on 31 Mar 2013
Here's the demo. I have a color version -- if you want that one, let me know.
clc; % Clear command window.
clear; % Delete all variables.
close all; % Close all figure windows except those created by imtool.
imtool close all; % Close all figure windows created by imtool.
workspace; % Make sure the workspace panel is showing.
fontSize = 15;
% Read in a standard MATLAB demo image.
folder = fullfile(matlabroot, '\toolbox\images\imdemos');
baseFileName = 'coins.png';
% Get the full filename, with path prepended.
fullFileName = fullfile(folder, baseFileName);
if ~exist(fullFileName, 'file')
% Didn't find it there. Check the search path for it.
fullFileName = baseFileName; % No path this time.
if ~exist(fullFileName, 'file')
% Still didn't find it. Alert user.
errorMessage = sprintf('Error: %s does not exist.', fullFileName);
uiwait(warndlg(errorMessage));
return;
end
end
grayImage = imread(fullFileName);
% Get the dimensions of the image. numberOfColorBands should be = 1.
[rows columns numberOfColorBands] = size(grayImage);
% Display the original image.
subplot(2, 2, 1);
imshow(grayImage);
title('Original Gray Scale Image', 'FontSize', fontSize);
% Enlarge figure to full screen.
set(gcf, 'Position', get(0,'Screensize'));
% Generate a noisy image with salt and pepper noise.
noisyImage = imnoise(grayImage,'salt & pepper', 0.05);
subplot(2, 2, 2);
imshow(noisyImage);
title('Image with Salt and Pepper Noise', 'FontSize', fontSize);
% Median Filter the image:
medianFilteredImage = medfilt2(noisyImage, [3 3]);
% Find the noise. It will have a gray level of either 0 or 255.
noiseImage = (noisyImage == 0 | noisyImage == 255);
% Get rid of the noise by replacing with median.
noiseFreeImage = noisyImage; % Initialize
noiseFreeImage(noiseImage) = medianFilteredImage(noiseImage); % Replace.
% Display the image.
subplot(2, 2, 3);
imshow(noiseFreeImage);
title('Restored Image', 'FontSize', fontSize);
Image Analyst
on 27 Oct 2015
Attached are two Salt and Pepper removal methods using a median filter to change only the noise pixels and not the "good" pixels.
Ninad Dafale
on 17 Jun 2016
Can you please provide the code for adaptive median filtering for color images?
Image Analyst
on 17 Jun 2016
That's what the above attached m-file "salt_and_pepper_noise_removal.m" is!
Hanisha Viswanatham
on 21 Jul 2016
can I get code on same filter but for a random valued noise?
Amar
on 31 Mar 2013
0 votes
1 Comment
Image Analyst
on 31 Mar 2013
This is not an "answer" to your question, so it should have been a comment to my answer. I'll put my response there.
Categories
Find more on Adaptive Filters in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!