How do RGB values from 0 to 1 get converted to a number from 0 to 255?

41 views (last 30 days)
Is the RGB value simply scaled to a number from 0 to 255 to determine the colour of a pixel on the screen?

Answers (2)

Image Analyst
Image Analyst on 28 Aug 2014
RGB images have 3 color channels (planes). The values in each plane can be in the range of 0-255 if you want to display them.
  3 Comments
Adam
Adam on 28 Aug 2014
It is a simple linear mapping. I don't know off-hand whether [0.5 0.5 0.5] maps to [128 128 128] or [127 127 127], but the scaling is definitely linear.
Image Analyst
Image Analyst on 28 Aug 2014
Edited: Image Analyst on 28 Aug 2014
The color of the pixel is 3 numbers for R, G, and B. If you're displaying them on the screen, they must be uint8 which means they'll be in the range 0-255. Of course you can work with any range you want (0-1 or -999 to +12345 or whatever) or even floating point values internal to your program - nothing wrong with that. But to display you'll need to scale into the range 0-255 and cast to uint8.

Sign in to comment.


Tabitha
Tabitha on 28 Aug 2014

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!