Determine If L*a*b* Value Is in RGB Gamut
This example shows how to use color space conversion to determine if an L*a*b* value is in the RGB gamut. The set of colors that can be represented using a particular color space is called its gamut. Some L*a*b* color values can be out-of-gamut when converted to RGB.
Convert an L*a*b* value to RGB. The negative values returned demonstrate that the L*a*b* color [80 -130 85] is not in the gamut of the sRGB color space, which is the default RGB color space used by lab2rgb
. An RGB color is out of gamut when any of its component values are less than 0 or greater than 1.
lab = [80 -130 85]; lab2rgb(lab)
ans = 1×3
-0.6209 0.9537 -0.1927
Convert the L*a*b* value to RGB, this time specifying a different RGB colorspace, the Adobe® RGB (1998) color space. The Adobe RGB (1998) has a larger gamut than sRGB. Use the ColorSpace
name-value argument. Because the output values are between 0.0 and 1.0 (inclusive), you can conclude that the L*a*b* color [80 -130 85] is inside the Adobe RGB (1998) gamut.
lab2rgb(lab,ColorSpace="adobe-rgb-1998")
ans = 1×3
0.1236 0.9522 0.1072