I suppose that an image is affected by a multiplicative noise (or additive noise and etc.). I want to quantify and measure the rate of noise (for exemple 1%, 2%, ...,25%) present in an image. I used the snr and psnr but they give me the values measured in dB ​​(decibel). Also, how can I implement this in MATLAB?

Can I use the mse or the average between the noisy image and the original image mean?

After the answer of Mr. Tolga Birdal, I put the following code in matlab:

J=imnoise(I,'speckle', 0.1); % 0.1 is the variance of the noise 
Sigma1 = estimate_noise(I) 

Its give to me :

Sigma1 = 6.9360

Sigma2= estimate_noise(J)


Sigma2= 10.1409

this mean that the level of noise present in the image J equals to 10.14 % ?

  • 1
    $\begingroup$ I'm not sure where you get 10.14% from... The variance value is 10.1409; that has little to do with a relative rate (percentile) of anything. Sure, it's normalized to the filtered image size, but that doesn't relate to the energy in the image at all. You might want to use the original image variance and compare that with the noisy image variance... but I don't think it's true that the variance will always go up when you add "noise". $\endgroup$
    – Peter K.
    Sep 4, 2015 at 13:20

1 Answer 1


You could check out my MATLAB function, which estimates the variance of the noise. It is also mentioned in a Mathworks blog post, in comparison with other methods.

Regarding $\sigma$, you mention in the question, simple answer is yes, longer answer is no. It refers to the variance of the noise normalized with image dimensions as follows:

$$\sigma = \frac{\sigma_0\sqrt{0.5\pi}}{6(W-2)(H-2)}$$

$-2$ is due to the convolution kernel, applied previously. However, this is not a final quantity, giving you the absolute noise level. Nevertheless, for the variance, you could use it as a percentage, just like you mentioned.

  • $\begingroup$ I edit my question $\endgroup$
    – Achaire
    Sep 4, 2015 at 10:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.