Convert Signal RGB coordinates to XYZ, or Linear RGB
Convert signal RGB coordinates to XYZ, or to linear RGB
XYZfromRGB( RGB, space='sRGB', which='scene', TF=NULL, maxSignal=1 ) LinearRGBfromSignalRGB( RGB, space='sRGB', which='scene', TF=NULL, maxSignal=1 )
RGB |
a numeric Nx3 matrix with non-linear signal RGB coordinates in the rows, or a vector that can be converted to such a matrix, by row.
These should be in the appropriate cube |
space |
the name of an installed RGB space. The name matching is partial and case-insensitive. |
which |
the output XYZ or linear RGB - either |
TF |
if not |
maxSignal |
maximum value of the input signal |
XYZfromRGB()
returns a data.frame
with N rows and these columns:
XYZ |
the calculated XYZ vectors. These are for viewing under the white point of the given RGB space. |
OutOfGamut |
a logical vector. TRUE means the input signal RGB is outside the cube |
LinearRGBfromSignalRGB()
returns a data.frame
with N rows and these columns:
RGB |
the calculated linear RGB vectors, either scene linear or display linear. |
OutOfGamut |
a logical vector. TRUE means the input signal RGB is outside the cube |
In case of error, both functions return NULL.
Wikipedia. RGB color space. https://en.wikipedia.org/wiki/RGB_color_space
XYZfromRGB( c(128,200,255, 0,0,0, 255,255,255), max=255 )$XYZ * 100 ## X Y Z ## [1,] 47.60334 53.11601 102.3549 ## [2,] 0.00000 0.00000 0.0000 ## [3,] 95.04559 100.00000 108.9058 XYZfromRGB( c(128,200,255, 0,0,0, 255,255,255), space='Adobe', max=255 )$XYZ * 100 ## X Y Z ## [1,] 42.36398 50.82876 103.8704 ## [2,] 0.00000 0.00000 0.0000 ## [3,] 95.04559 100.00000 108.9058
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.