Confused about the RGB colour coding
4 次查看(过去 30 天)
显示 更早的评论
Hello, I wonder if the Matlab RGB color index is just the usual RGB index divided by 255??? The default RGB color list is as follows in Matlab:
For example green is [0 1 0] the default RGB coding in the Colour software like Photoshop is [0 255 0] so do I just divide the color coding in Photoshop RGB format by 255 to arrive at the Matlab RGB color code?
I wonder if there is an inbuilt function like that... Thanks! D
0 个评论
采纳的回答
Jan
2011-9-29
If you store the RGB values as a [X, Y, 3] DOUBLE array, the values are going form 0 to 1. If you use an UINT8 array, the values are in the interval [0, 255], as in many other applications (Photoshop, color-pickers, HTML, etc).
A simple conversion:
RGB_double = rand(200, 100, 3);
RGB_uint8 = uint8(RGB * 255 + 0.5);
The 0.5 cares for the same weights of the UINT8(0) and UINT8(255) bins.
3 个评论
Image Analyst
2011-9-29
Yes. Dividing by 255 is fine. Or by intmax('uint16') if you're using 16 bit numbers.
Walter Roberson
2011-9-29
im2double() does the type-checking and divides by the appropriate scaling factor.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!