MATLAB: What does the output of imread represent

image processingImage Processing Toolboximread function

Hey Everyone,
I want to read an image for further processing. So when I write for example (I = imread('rice.png');), the output matrix I holds the values for each pixel in the image. What can we assume the unit of these? So I can say that the output read for each pixel resembles the output of photodiode?
Thanks a lot in advance.

Best Answer

No, you cannot assume a direct correlation between the pixels and the elements of the recording device. E.g. CCD sensors have different elements for the red, green and blue channels and the resulting pixels are the result of a computations already, see https://en.wikipedia.org/wiki/Bayer_filter. In addition the created images do not neccessarily have the same resolution as the recording device, such that an interpolation might have been applied in the camera.
Do not confuse the "units of the pixels" with the physical dimensions of the recording device. The same camera creates pictures with different units if you take a photo of a galaxis behind a telescope or of bacteria behind a microscope.