Documentation

### This is machine translation

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

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this 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`

Download now