- First median filter the whole image
- Get a mask of the salt and papper noise, where values are either 0 or 255 or whatever values you want to use.
- Replace the original image with the median filtered values but ONLY within the noise mask, not everywhere.
How do you apply a 3x3 median filter on an image that is noisy (salt and pepper) , and what is it supposed to do?
42 次查看(过去 30 天)
显示 更早的评论
is this correct?
inpict = imread('Q1_noisy_image (1).tif');
A = medfilt2(inpict,[3 3]);
imshow(A)
0 个评论
回答(2 个)
Image Analyst
2023-12-2
If inpict is a gray scale image, that would apply a median filter to ALL pixels in the image, not just the impulse/salt&pepper noise.
A median filter's claim to fame is that it smooths noisy areas but leaves true edges sharp (it doesn't blur step edges).
If you want a median filter to operate on only salt and pepper noise, you have to
Something like
filteredImage = medfilt2(grayImage, [3,3]);
mask = (grayImage == 0) | (grayImage == 255);
grayImage(mask) = filteredImage(mask);
For a full demo, see my attached demos. For a color image, do it one color channel at a time.
0 个评论
DGM
2023-12-2
编辑:DGM
2023-12-2
This is the third time you've asked this question. Why?
2 个评论
DGM
2023-12-2
编辑:DGM
2023-12-2
In the future, try to keep things about one question in a common thread so that efforts don't get divided. It's okay to revise your question either by editing it or by using comments.
FWIW, the link I'd provided in 2054999 includes a link to the demos that Image Analyst also posted above.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!