im2int16

Convert image to 16-bit signed integers

Syntax

``J = im2int16(I)``

Description

example

````J = im2int16(I)` converts the grayscale, RGB, or binary image `I` to data type `int16`, rescaling the data if necessary.If the input image is of data type `int16`, then the output image is identical to the input image. If the input image is of data type `logical`, then `im2int16` changes false-valued elements to -32768 and true-valued elements to 32767.```

Examples

collapse all

Create an array of class `double`.

`I = reshape(linspace(0,1,20),[5 4])`
```I = 5×4 0 0.2632 0.5263 0.7895 0.0526 0.3158 0.5789 0.8421 0.1053 0.3684 0.6316 0.8947 0.1579 0.4211 0.6842 0.9474 0.2105 0.4737 0.7368 1.0000 ```

Convert the array to class `int16`.

`I2 = im2int16(I)`
```I2 = 5x4 int16 matrix -32768 -15522 1724 18970 -29319 -12073 5173 22419 -25870 -8624 8623 25869 -22420 -5174 12072 29318 -18971 -1725 15521 32767 ```

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 `im2int16` 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 a binary image, then it must be `logical`.

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

Output Arguments

collapse all

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

Data Types: `int16`

Version History

Introduced before R2006a

expand all