MATLAB: Calculate signal power of image

image processingImage Processing Toolboxp(signal)signal power

how to calculate signal power of image in matlab?

Best Answer

vipul, there is no power in an image, by the strict definition, but there is energy. You may have some other layman's definition. If so, let's hear it. Let's look at the units. I'll use SI units here. Power is in watts, or joules per second. A light source has power and it emits it, and it lands on your scene which then reflects it onto your camera sensor. So what hits a given pixel? It's called irradiance and its units are power per unit area or watts/m^2 or joules/(seconds*m^2). By the way, you can look up any of these radiometric definitions in Wikipedia or here
So what does a gray level really mean? The gray level is a measure of energy? Why energy? Exposure is the irradiance integrated over time and has units of joules per square meter (the "per second" units got integrated away). It's the measure of the energy of all the photons that hit the area of sensor. When you look at exposure for one single pixel, then you sum up (integrate) the exposure over the area of that one pixel, so the meters squared go away and you are left with joules. So gray level is proportional to joules, or energy. It's also proportional to power since it's power integrated over the area of a pixel and over the time of exposure, but both of those are constants for a given snapshot. So the pixel value is proportional to power by a conversion factor (that has units), but it really has units of energy.
So when you see SNR in the Wikipedia article, the gray level goes in place of the P (Power) in the equation, not in place of the A (amplitude). And when you see formulas with 10Log or 20Log, you use the 10Log formula, not the 20Log formula.
I hope that explains it better.