This is machine translation

Translated by Microsoft
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.


Convert image to 16-bit signed integers


J = im2int16(I)



J = im2int16(I) converts the grayscale, RGB, or binary image I to int16, rescaling the data if necessary.

If the input image is of class int16, then the output image is identical to it. If the input image is of class logical, then im2int16 changes false-valued elements to -32768 and true-valued elements to 32767.

You optionally can perform the conversion using a GPU (requires Parallel Computing Toolbox™). For more information, see Image Processing on a GPU.


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

Create array of class double.

I1 = gpuArray(reshape(linspace(0,1,20),[5 4]))

Convert array to int16.

I2 = im2int16(I1)

Input Arguments

collapse all

Intensity, RGB, or binary image, specified as a numeric array of any size and dimensionality.

To perform the conversion using a GPU, specify I as a gpuArray that contains a numeric array of any size and dimensionality.

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

Output Arguments

collapse all

Image with class int16, returned as a numeric array with the same size and dimensionality as I.

If the conversion is performed using a GPU, then J is returned as a gpuArray containing a numeric array.

Data Types: int16

Extended Capabilities

Introduced before R2006a