Matlab--索引图像转换成真彩色图像

索引图像转换成真彩色图

[X,map] = imread('corn.tif');
//%索引图像X是uint8类型的415×312 数组.颜色图 cmap 是 double 类型的 256×3 矩阵,因此索引图像中有 256 种颜色。
RGB = ind2rgb(X,map);
//%将索引图像转换为 RGB 图像。结果为一个 double 类型的 415×312×3 数组。
disp(['Range of RGB image is [',num2str(min(RGB(:))),', ',num2str(max(RGB(:))),'].']);
//%检查 RGB 图像的值是否在 [0, 1] 范围内。
imshow(RGB);

在这里插入图片描述

ind2rgb()函数详解

语法

RGB = ind2rgb(X,map)

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

输入参数

X--索引图像 m×n整数矩阵

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

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

map--颜色图 c×3 的矩阵

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

数据类型: double

输出参数

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

猜你喜欢

转载自blog.csdn.net/qq_45465526/article/details/104100617