Image Processing Noise differences
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi,
Suppose I want to add white gaussian noise to an image. I propose to do by following means :-
a) imnoise(I,'gaussian',0,0.25);
b) I = awgn(I,var(I(:))/0.25);
c) I = I + 0.25*randn(size(I));
Here I is a certain image.
What is difference between using the above statements ??
0 Commenti
Risposta accettata
Wayne King
il 19 Dic 2011
J = imnoise(I,'gaussian',0,0.25);
J = I+0.5*randn(size(I));
For awgn(), your function syntax assumes the power of the input is 0 dBW, so you would need to do.
denom = -(var(I(:))/(10*log10(0.25)));
I = awgn(I,var(I(:))/denom);
0 Commenti
Più risposte (2)
Wayne King
il 19 Dic 2011
Hi, in
I = I +0.25*randn(size(t));
you get noise with a standard deviation of 0.25, not variance. If you want noise with a variance of 0.25, then you must do
I = I +0.5*randn(size(t));
that would be equivalent to:
imnoise(I,'gaussian',0,0.25);
The variance of a constant times a random variable is the constant squared times the variance of the random variable.
Finally, the actual variance of the additive Gaussian noise in:
I = awgn(I,var(I(:))/0.25);
depends on I, so it's not clear that you are really getting a variance of 0.25. For example:
I = randn(256,256);
Because var(I(:)) = 1.0551 (in this particular example)
Your call of
I = awgn(I,var(I(:))/0.25);
results in an additive WGN process with variance:
10^(-4.2203/10) = 0.3784
which is greater than you think.
Shaveta Arora
il 24 Feb 2016
How to add gaussian noise of variance 10 by both methods?
1 Commento
Image Analyst
il 24 Feb 2016
Hint from the help:
Create a vector of 1000 random values drawn from a normal distribution with a mean of 500 and a standard deviation of 5.
a = 5;
b = 500;
y = a.*randn(1000,1) + b;
For you, a would be sqrt(10) and b would be 0, so
[rows, columns] = size(grayImage);
noisyArray = sqrt(10)*randn(rows, columns);
output = double(grayImage) + noisyArray;
Vedere anche
Categorie
Scopri di più su Image Processing Toolbox in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!