# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

# lab2double

Convert L*a*b* data to `double`

## Syntax

```labd = lab2double(lab) ```

## Description

`labd = lab2double(lab)` converts an M-by-3 or M-by-N-by-3 array of L*a*b* color values to class `double`. The output array `labd` has the same size as `lab`.

The Image Processing Toolbox™ software follows the convention that double-precision L*a*b* arrays contain 1976 CIE L*a*b* values. 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`

## Class Support

`lab` is a `uint8`, `uint16`, or `double` array that must be real and nonsparse. `labd` is `double`.

## 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 = 100 0 0 ```