Main Content

xyz2lab

Convert CIE 1931 XYZ to CIE 1976 L*a*b*

Description

lab = xyz2lab(xyz) converts CIE 1931 XYZ values (2° observer) to CIE 1976 L*a*b* values.

example

lab = xyz2lab(xyz,'WhitePoint',whitePoint) specifies the reference white point of the illuminant.

example

Examples

collapse all

Convert an XYZ color value to L*a*b* using the default reference white point, D65.

xyz2lab([0.25 0.40 0.10])
ans = 1×3

   69.4695  -48.0439   57.1259

Convert an XYZ color value to L*a*b* specifying the D50 whitepoint.

xyz2lab([0.25 0.40 0.10],'WhitePoint','d50')
ans = 1×3

   69.4695  -49.5717   48.3864

Input Arguments

collapse all

XYZ color values to convert, specified as a numeric array in one of these formats.

  • c-by-3 colormap. Each row specifies one XYZ color value.

  • m-by-n-by-3 image

  • m-by-n-by-3-by-p stack of images

Data Types: single | double

Reference white point, specified as a 1-by-3 vector or one of the CIE standard illuminants, listed in the table.

ValueWhite Point
"a"

CIE standard illuminant A, [1.0985, 1.0000, 0.3558]. Simulates typical, domestic, tungsten-filament lighting with correlated color temperature of 2856 K.

"c"CIE standard illuminant C, [0.9807, 1.0000, 1.1822]. Simulates average or north sky daylight with correlated color temperature of 6774 K. Deprecated by CIE.
"e"Equal-energy radiator, [1.000, 1.000, 1.000]. Useful as a theoretical reference.
"d50"CIE standard illuminant D50, [0.9642, 1.0000, 0.8251]. Simulates warm daylight at sunrise or sunset with correlated color temperature of 5003 K. Also known as horizon light.

"d55"

CIE standard illuminant D55, [0.9568, 1.0000, 0.9214]. Simulates mid-morning or mid-afternoon daylight with correlated color temperature of 5500 K.

"d65"CIE standard illuminant D65, [0.9504, 1.0000, 1.0888]. Simulates noon daylight with correlated color temperature of 6504 K.
"icc"Profile Connection Space (PCS) illuminant used in ICC profiles. Approximation of [0.9642, 1.000, 0.8249] using fixed-point, signed, 32-bit numbers with 16 fractional bits. Actual value: [31595,32768, 27030]/32768.

Data Types: single | double | char

Output Arguments

collapse all

Converted L*a*b* color values, returned as a numeric array of the same size and data type as the input.

AttributeDescription
L*Luminance or brightness of the image. Values are in the range [0, 100], where 0 specifies black and 100 specifies white. As L* increases, colors become brighter.
a*Amount of red or green tones in the image. A large positive a* value corresponds to red/magenta. A large negative a* value corresponds to green. Although there is no single range for a*, values commonly fall in the range [-100, 100] or [-128, 127).
b*Amount of yellow or blue tones in the image. A large positive b* value corresponds to yellow. A large negative b* value corresponds to blue. Although there is no single range for b*, values commonly fall in the range [-100, 100] or [-128, 127).

Data Types: single | double

Version History

Introduced in R2014b

See Also

| |