一、imagesc 缩放颜色显示图像
1、imagesc 函数
imagesc 函数参考文档 : https://ww2.mathworks.cn/help/matlab/ref/imagesc.html
imagesc 函数作用 , 使用缩放颜色显示图像 ;
使用场景 : 3D 图显示时 , 不是很直观 , 这里将色彩当做一个维度 , 使用颜色值作为 z z z 轴的深度 ,
imagesc 函数语法 :
imagesc(C)
将数组 C 中的数据 , 显示成图像 , C 是一个 m × n m \times n m×n 的矩阵 , 绘制的时候会绘制一个 m × n m \times n m×n 的像素网格 , 每个像素点的颜色值对应 C 中的一个元素 ;
2、代码示例
代码示例 :
% 生成 x , y 矩阵 ,
[x, y] = meshgrid(-3 : .2 : 3 , -3 : .2 : 3);
% 生成 z 矩阵
z = x .^ 2 + x .*y + y .^2;
% 第一个图形中绘制 x,y,z 组成的面
figure, surf(x, y, z);
% 第二个图形中绘制 z 值对应的颜色网格
% 对应的 z 的最大值对应颜色值 1
% 对应的 z 的最小值对应颜色值 0
figure, imagesc(z);
% 查看 z 轴的颜色值
% 可以看到最小值 ~ 最大值 对应的颜色区间
colorbar;
执行结果 :
图形 1 1 1 :
图形 2 2 2 :
完整效果 :
二、Colormaps 颜色图
1、colormap 颜色图简介
colormap 参考文档 : https://ww2.mathworks.cn/help/matlab/ref/colormap.html
matlab 中的颜色图 :
使用颜色图 : 括号中的 [Name] 参数就是上面颜色图的名称 , jet , hsv , hot , cool , spring , summer , autumn , winter 等名称 , 注意不是字符串 ;
% 语法格式
colormap([Name])
% 使用暖色
colormap(hot)
2、设置不同的颜色图
% 生成 x , y 矩阵 ,
[x, y] = meshgrid(-3 : .2 : 3 , -3 : .2 : 3);
% 生成 z 矩阵
z = x .^ 2 + x .*y + y .^2;
% 第一个图形中绘制 x,y,z 组成的面
figure, surf(x, y, z);
% 第二个图形中绘制 z 值对应的颜色网格
% 对应的 z 的最大值对应颜色值 1
% 对应的 z 的最小值对应颜色值 0
figure, imagesc(z);
% 查看 z 轴的颜色值
% 可以看到最小值 ~ 最大值 对应的颜色区间
colorbar;
% 改变 z 值对应的颜色值
% 暖色系
colormap(hot);
% 第 3 个图形中绘制 z 值对应的颜色网格
figure, imagesc(z);
% 查看 z 轴的颜色值
% 可以看到最小值 ~ 最大值 对应的颜色区间
colorbar;
% 改变 z 值对应的颜色值
% 暖色系
colormap(cool);
% 第 4 个图形中绘制 z 值对应的颜色网格
figure, imagesc(z);
% 查看 z 轴的颜色值
% 可以看到最小值 ~ 最大值 对应的颜色区间
colorbar;
% 改变 z 值对应的颜色值
% 暖色系
colormap(cool);
% 改变 z 值对应的颜色值
% 灰度颜色
colormap(gray);
执行结果 : 第一张图是 3D 坐标图 , 第 2 , 3 , 4 2,3,4 2,3,4 分别是 暖色 , 冷色 , 灰度颜色图 ;