Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

ind2rgb

将索引图像转换为 RGB 图像

说明

示例

RGB = ind2rgb(X,map) 将索引图像 X 和对应的颜色图 map 转换为 RGB(真彩色)格式。

示例

全部折叠

读取索引图像示例文件 corn.tif 中的第一幅图像。

[X,cmap] = imread('corn.tif');

索引图像 Xuint8 类型的 415×312 数组。颜色图 cmapdouble 类型的 256×3 矩阵,因此索引图像中有 256 种颜色。显示图像。

imshow(X,cmap)

Figure contains an axes object. The axes object contains an object of type image.

将索引图像转换为 RGB 图像。结果为一个 double 类型的 415×312×3 数组。

RGB = ind2rgb(X,cmap);

检查 RGB 图像的值是否在 [0, 1] 范围内。

disp(['Range of RGB image is [',num2str(min(RGB(:))),', ',num2str(max(RGB(:))),'].'])
Range of RGB image is [0.0078431, 0.97647].

输入参数

全部折叠

索引图像,指定为 m×n 整数矩阵。

  • 如果将 X 指定为整数数据类型的数组,则值 0 对应于颜色图 map 中的第一种颜色。对于包含 c 种颜色的颜色图,图像 X 的值会被裁剪到范围 [0, c-1] 内。

  • 如果将 X 指定为 singledouble 数据类型的数组,则值 1 对应于颜色图中的第一种颜色。对于包含 c 种颜色的颜色图,图像 X 的值会被裁剪到范围 [1, c] 内。

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

与索引图像 X 相关联的颜色图,指定为由范围 [0, 1] 内的值组成的 c×3 矩阵。map 的每行都是一个三元素 RGB,指定颜色图的单种颜色的红、绿和蓝分量。

数据类型: double

输出参数

全部折叠

RGB 图像,返回为由范围 [0, 1] 内的值组成的 m×n×3 数值数组。

数据类型: double

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出

另请参阅

| |