MATLAB Answers


is it correct way to calculate the snr of a color image?

Asked by ARUN SAI
on 2 May 2013

snr=mean2(color image)/mean2(stdfilt(color image)).


1 Answer

Answer by Image Analyst
on 2 May 2013

No. Why do you think the local standard deviation is all noise?


That's what you were doing. You were doing it not with respect to another image - you were using the same image. Basically you get the noise image and divide them, then probably take the mean of all the individual pixel SNRs. Do you have the noise image? Why do you think there's any noise in the first place?

is there any other way to calculate snr of color image(only with respect to one image)?

You can take a guess at what the noise is. That's making an assumption but with a single image, you'll need to make an assumption of some kind or other no matter what you do. Best would be to take a snapshot of a uniform scene and measure the noise. But even that requires an assumption to be made of the type of noise. You could narrow down the noise a little more if you took a bunch of shots at different exposure levels to see how the noise changed as exposure level changes.

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!