snr=mean2(color image)/mean2(stdfilt(color image)).
Direct link to this answer:
No. Why do you think the local standard deviation is all noise?
Direct link to this comment:
then how to calculate snr of single color image ie,not with respect to another image.
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.
MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test
Opportunities for recent engineering grads.
New to MATLAB?
Choose your country to get translated content where available and see local events and offers. Based on your location, we recommend you select United States from the following list:
See all countries