how to calculate signal to noise ratio of color image?

7 views (last 30 days)
is this right way to calculate SNR of a color image using SNR = μ/sqrt( LSD max) where μ-average gray of color image.And how to calculate average gray of color image....

Accepted Answer

Image Analyst
Image Analyst on 14 Apr 2013
I would not say that. Why do you think the mean gray level of the image is the true signal? It may be for some pixels, but for other pixels, that are supposed to be bright or dark, the signal is not the mean. You need to get the signal and the noise. If you don't have that then you need to make assumptions, like the true signal is the average of pixels in a 3 by 3 window around the pixel and the noise is the standard deviation in that window. So you'll have a mean image (like you can get with conv2()) and a standard deviation image (which you can get with stdfilt()). Then divide the images to get the SNR on a pixel by pixel basis and then take the average of all those values.
  4 Comments
ayesha
ayesha on 17 Jul 2017
if we take the mean of the original image and divide it with the standard deviation of the same image then what will be the output. will it be the signal to noise ratio??
Image Analyst
Image Analyst on 17 Jul 2017
No. Variation in the image is not noise unless your image was supposed to be a completely flat uniform color or intensity. You'd have the inverse of the Coefficient of Variation https://en.wikipedia.org/wiki/Coefficient_of_variation. But remember, variation in the image is not noise, despite a majority of novices believing so.
If you took the same snapshot over and over again and looked at the temporal variation of the pixels, then that would be noise, because your scene is not changing but your pixel values are changing from snapshot to snapshot.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!