Signal RGB Calculation {spacesRGB} | R Documentation |
Convert XYZ or Linear RGB to Signal RGB
Description
Convert XYZ or Linear RGB to Signal RGB, multiple RGB spaces are available
Usage
RGBfromXYZ( XYZ, space='sRGB', which='scene', TF=NULL, maxSignal=1 )
SignalRGBfromLinearRGB( RGB, space='sRGB', which='scene', TF=NULL, maxSignal=1 )
Arguments
XYZ |
a numeric Nx3 matrix with CIE XYZ coordinates in the rows, or a vector that can be converted to such a matrix, by row.
The XYZ are assumed to be viewed under the white-point of the given RGB |
RGB |
a numeric Nx3 matrix with linear RGB coordinates in the rows, or a vector that can be converted to such a matrix, by row. The RGB may be outside the corresponding domain box (either scene or display), see Details. |
space |
the name of an installed RGB space. The name matching is partial and case-insensitive. |
which |
either |
TF |
if not |
maxSignal |
maximum value of non-linear |
Details
In RGBfromXYZ()
, the conversion is done in 2 steps:
XYZ → linear RGB using the appropriate 3x3 matrix for the given
space
andwhich
linear RGB → signal RGB using
SignalRGBfromLinearRGB()
and all other the given arguments
Value
a data.frame
with N rows and these columns
RGB |
signal RGB.
If |
OutOfGamut |
logical vector, TRUE means the input linear RGB was outside the domain box before clamping it. |
In case of error, the functions return NULL.
References
Wikipedia. RGB color space. https://en.wikipedia.org/wiki/RGB_color_space
See Also
XYZfromRGB()
,
LinearRGBfromSignalRGB()
,
installRGB()
,
identity.TF
Examples
RGBfromXYZ( c(80.310897,90.306510,84.613450, 100,100,100)/100, max=255 )
## RGB.R RGB.G RGB.B OutOfGamut
## 1 230.1676 249.4122 225.2472 FALSE
## 2 255.0000 249.1125 244.4704 TRUE