im2uint8

Convert image to 8-bit unsigned integers

Syntax

``J = im2uint8(I)``
``J = im2uint8(I,"indexed")``

Description

example

````J = im2uint8(I)` converts the grayscale, RGB, or binary image `I` to `uint8`, rescaling or offsetting the data as necessary.If the input image is of data type `uint8`, then the output image is identical. If the input image is of data type `logical`, then `im2uint8` changes true-valued elements to 255.```
````J = im2uint8(I,"indexed")` converts the indexed image `I` to `uint8`, offsetting the data if necessary.```

Examples

collapse all

Create an array of data type `uint16`.

`I = reshape(uint16(linspace(0,65535,25)),[5 5])`
```I = 5x5 uint16 matrix 0 13653 27306 40959 54613 2731 16384 30037 43690 57343 5461 19114 32768 46421 60074 8192 21845 35498 49151 62804 10923 24576 38229 51882 65535 ```

Convert the array to data type `uint8`.

`I2 = im2uint8(I)`
```I2 = 5x5 uint8 matrix 0 53 106 159 213 11 64 117 170 223 21 74 128 181 234 32 85 138 191 244 43 96 149 202 255 ```

Input Arguments

collapse all

Input image, specified as a numeric array or logical array of any size and dimension.

• If `I` is a grayscale or RGB image, then it can be of data type `uint8`, `uint16`, `int16`, `double`, `single`, or `logical`. The `im2uint8` function expects images of data type `double` and `single` to have values in the range [0, 1]. If `I` has values outside the range [0, 1], then you can rescale values to the expected range by using the `rescale` function.

• If `I` is an indexed image, then it can be of data type `uint8`, `uint16`, `double`, or `logical`. If the indexed image is of data type `double`, then the maximum value must be 256 or less. If the indexed image is of data type `uint16`, then the maximum value must be 255 or less.

• If `I` is a binary image, then it must be `logical`.

Data Types: `single` | `double` | `int16` | `uint8` | `uint16` | `logical`

Output Arguments

collapse all

Image with data type `uint8`, returned as a numeric array of the same size as the input image `I`.

Data Types: `uint8`

Version History

Introduced before R2006a

expand all