Documentation

### This is machine translation

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

# lab2uint8

Convert L*a*b color values to `uint8`

## Syntax

``lab8 = lab2uint8(lab)``

## Description

example

````lab8 = lab2uint8(lab)` converts L*a*b* color values to type `uint8`.```

## Examples

collapse all

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

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

`w = [100 0 0];`

Convert the L*a*b* color value to `uint8`.

`lab2uint8(w)`
```ans = 1x3 uint8 row vector 255 128 128 ```

## Input Arguments

collapse all

Color values to convert, specified as a m-by-3 matrix of color values (one color per row), or an m-by-n-by-3 image array. The input `lab` matrix must be real and nonsparse.

Data Types: `double` | `uint16`

## Output Arguments

collapse all

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

Data Types: `uint8`

## Algorithms

The function converts the L*a*b* color values to type `uint8`. 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`