Main Content

im2int16

将图像转换为 16 位有符号整数

说明

J = im2int16(I) 将灰度、RGB 或二值图像 I 转换为数据类型 int16,并在必要时重新缩放数据。

如果输入图像属于 int16 数据类型,则输出图像与输入图像相同。如果输入图像属于 logical 数据类型,则 im2int16 将 false 值元素更改为 -32768,将 true 值元素更改为 32767。

示例

示例

全部折叠

创建一个 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

将数组转换为 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

输入参数

全部折叠

输入图像,指定为任意大小和维度的数值数组或逻辑数组。

  • 如果 I 是灰度或 RGB 图像,则它可以是 uint8uint16int16doublesinglelogical 数据类型。im2int16 需要数据类型为 doublesingle 的图像的值在 [0, 1] 的范围内。如果 I 的值超出范围 [0, 1],则可以使用 rescale 函数将值重新缩放到需要的范围。

  • 如果 I 是二值图像,则它必须为 logical

数据类型: single | double | int16 | uint8 | uint16 | logical

输出参量

全部折叠

具有数据类型 int16 的图像,以与输入图像 I 大小相同的数值数组形式返回。

数据类型: int16

扩展功能

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

全部展开