![](https://csdnimg.cn/release/download_crawler_static/22826218/bg6.jpg)
(6)索引图像转换为 RGB 图像
RGB=ind2rgb(X,map) %将矩阵 X 及相应颜色图 map 转化成真彩图像 RGB。
输入图像 X 可以是双精度类型或 8 位无符号类型,输出图像 RGB 为双精度类型。
例:将索引图像 wmandril.mat 转换为 RGB 图像。
load wmandril;
figure(1);imshow(X,map);
I=ind2rgb(X,map);
figure(2);imshow(I)
(7)通过阈值化方法将图像转换为二值图像
im2bw 函数:通过设置亮度阈值将真彩图像、索引图像及灰度图像转化成二值图像。在
转换过程中,如果输入图像不是灰度图像,首先将其转换为灰度级图像,然后通过阈值化将
灰度级图像转换成二值图像。输出二值图像在输入图像所有亮度小于给定值(level 取值范围
为[0,1])像素点处均为 0,其他均为 1。其语法格式为:
BW=im2bw(I,level) %将灰度图像 I 转化为黑白二值图像。
BW=im2bw(X,map,level) %将带有颜色图 map 的索引图像 X 转化为黑白二值图像。
BW=im2bw(RGB,level) %将 RGB 图像转化为黑白二值图像。
注意:输入图像可以是双精度类型或 8 位无符号类型,输出图像为 8 位无符号类型。
例:通过阈值化方法将索引图像 trees.mat 转换为二值图像,阈值为 0.4。
load trees;
BW=im2bw(X,map,0.4);
figure(1);imshow(X,map);
figure(2);imshow(BW)
(8)通过阈值化方法从灰度图像产生索引图像
X=grayslice(I,n) %将灰度图像 I 均匀量化为 n 个等级,然后转换为伪彩色图像 X。
X=grayslice(I,v) %按指定的阈值向量 v(每一个元素都在 0 和 1 之间)对图像 I 的值域进行
划分,而后转换成索引图像 X。
注意:输入图像 I 可以是双精度类型或 8 位无符号类型。
如果阈值数量小于 256,则返回图像 X 的数据类型是 8 位无符号类型,X 的值域为[0,n]
或[0,length(v)];
否则,返回图像 X 为双精度类型,值域为[1,n+1]或[1,length(v)+1]。
*例:将一幅灰度图像转换成索引图像。
I=imread('alumgrns.tif');
figure(1);imshow(I);
X=grayslice(I,16);
figure(2);imshow(X,hot(16));
(9)将矩阵转换为灰度图像
I=mat2gray(X,[xmin,xmax])
%按指定的取值区间 [xmin,xmax]将数据矩阵 X 转换为 图像 I,xmin 对应灰度 0(最暗即
黑),%xmax 对应灰度 1(最亮即白)。如果不指定区间[min,max]时,MATLAB 则自动将 X
阵中%最小设为 xmin,最大设为 xmax。
注意:输入 X 和输出图像 I 都是双精度类型。实际上,mat2gray 函数与 imshow 函数功能类