noise removal in Image

조회 수: 74(최근 30일)
FIR
FIR 2012년 12월 13일
댓글: ilen 2022년 10월 26일
I have to remove noise in image ,i di dit ny median,weiner,progressive median,but i did not get any codes for switching median filter,can you please tell is three any codes available fir it
  댓글 수: 1
ilen
ilen 2022년 10월 26일
clear all
close all
i= imread ( .jpg);
j=imnoise (i,'poisson');
figure
Subplot(1,2,1);
imshow(i)
Subplot(1,2,2);
imshow(j)

댓글을 달려면 로그인하십시오.

채택된 답변

Jürgen
Jürgen 2012년 12월 13일
Hi, first, quite a challenge to understand your question?
did you check ' How to remove noise? or something like that in matlab help it is quite well explained
ImageOrg = imread('ImageName'); ImageFilt= medfilt2(ImageOrg, [m n]) with m and n the size of your window
r,J

추가 답변(2개)

Image Analyst
Image Analyst 2012년 12월 13일
편집: Image Analyst 2012년 12월 14일
I don't know what "switching median" or "progressive median" filters are. They may just be names that some authors invented for their particular twist on the standard median filter. There are probably programs for them if you read about them somewhere - ask the authors. Here's a modified median filter demo I've posted before.
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);
  댓글 수: 1
FIR
FIR 2012년 12월 14일
Thanks a lot Image alalyst

댓글을 달려면 로그인하십시오.


Jürgen
Jürgen 2012년 12월 13일
편집: Jürgen 2012년 12월 13일
Ok so I indeed did not understand your question, I got interested and just did some googling: first found a paper: http://www.ijser.org/researchpaper%5CSwitching-Median-Filter-For-Image-Enhancement.pdf and then found http://www.mathworks.com/matlabcentral/fileexchange/21757-progressive-switching-median-filter I think that could help , basically the result of some googling regardsJ
  댓글 수: 1
Image Analyst
Image Analyst 2012년 12월 14일
Good searching. It looks like nedfilt2(), imerode(), and imdilate() could be used to implement that algorithm fairly quickly.

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by