Here's my question. I have a bmp file and try to get the RGB values of the picture. I used 4 different ways to accomplish that, imread in Matlab, package "bmp" and "pixmap" in R, photoshop. However, for the same pixel point, these 4 methods return slightly different values.
imread() in Matlab and read.bmp() in package "bmp" in R return the same values: (155, 92, 75)
getChannels() in package "pixmap" in R returns (0.6431535, 0.3817427, 0.3112033): they seem to be normalized. Dividing the values obtained in point 1 by the range of red channel in the pic ([0,241]) gets exactly the same values. And the range of green and blue channel is [0,187] and [0,176].
Photoshop returns slightly different values: (160, 95, 77).
Why are these methods returns different RGB values? Any help will be appreciated.
Updated information:
Original image (open with Preview in Mac ox and ps): original
Matlab imread() and imshow() image: Matlab version
And I found if I convert the color mode from RGB to CYMK in photoshop, the pic looks much the same as the one in Matlab.