Main Content

im2int16

Convert image to 16-bit signed integers

Description

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.

example

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

Extended Capabilities

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Version History

Introduced before R2006a

expand all