Main Content

lab2double

Convert L*a*b* color values to double

Description

labD = lab2double(lab) converts L*a*b* color values to type double.

example

Examples

collapse all

This example shows how to convert uint8 L*a*b* values to double.

Create a uint8 vector specifying the color white in L*a*b* colorspace.

w = uint8([255 128 128]);

Convert the L*a*b* color value to double.

lab2double(w)
ans = 1×3

   100     0     0

Input Arguments

collapse all

Color values to convert, specified as a m-by-3 numeric matrix of color values (one color per row), or an m-by-n-by-3 numeric array.

Data Types: uint8 | uint16

Output Arguments

collapse all

Converted color values, returned as a numeric array of same size as the input.

Data Types: double

Algorithms

The function converts the L*a*b* color values to type double. The Image Processing Toolbox™ software follows the convention that double-precision L*a*b* arrays contain 1976 CIE L*a*b* values. The L*a*b* arrays that are uint8 or uint16 follow the convention in the ICC profile specification (ICC.1:2001-4, www.color.org) for representing L*a*b* values as unsigned 8-bit or 16-bit integers. The ICC encoding convention is illustrated by these tables.

Value (L*)

uint8 Value

uint16 Value

0.0

0

0

100.0

255

65280

100.0 + (25500/65280)

None

65535

Value (a* or b*)

uint8 Value

uint16 Value

-128.0

0

0

0.0

128

32768

127.0

255

65280

127.0 + (255/256)

None

65535

Version History

Introduced in R2006a