Adding high density salt and pepper noise to an image
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
I am taking 'cameraman.tif' as my input image.
How can I add high density salt and pepper noise to it so that if I place 3X3 window over it and scan for uncorrupted pixels in it the uncorrupted pixels will come out to be 3?
Please provide matlab code for this
1 Commento
Roaa Mohammed
il 3 Dic 2019
clc; img = imread('cameraman.tif'); na = imnoise(img,'salt & pepper',0.02); black=3; white=253; nb = img; Rmatrix = randint(size(img,1),size(img,2),[0,255]); nb(Rmatrix <= black) = 0; nb(Rmatrix >= white) = 255; subplot 131;imshow(img),title('ORIGINAL IMAGE'); subplot 132;imshow(na),title('NOISE USING FUNCTION'); subplot 133;imshow(nb),title('NOISE WITHOUT USING FUNCTION');
Risposte (1)
Jaimin
il 3 Gen 2025
To add high-density salt-and-pepper noise to an image such that only 3 uncorrupted pixels remain in any 3x3 window, you will need to carefully select the noise density. The salt-and-pepper noise will randomly turn some pixels to either 0 (pepper) or 255 (salt).
Kindly refer following code snippet for better understanding.
img = imread('cameraman.tif');
img = im2double(img);
windowSize = 3;
% Calculate the total number of pixels in a 3x3 window
totalPixelsInWindow = windowSize^2;
% Define the number of uncorrupted pixels desired
uncorruptedPixels = 3;
% Noise density is the proportion of corrupted pixels
noiseDensity = (totalPixelsInWindow - uncorruptedPixels) / totalPixelsInWindow;
noisyImg = imnoise(img, 'salt & pepper', noiseDensity);
noisyImg = im2uint8(noisyImg);
For more information kindly refer to following MathWorks documentation.
0 Commenti
Vedere anche
Categorie
Scopri di più su Image Processing Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!