在Matlab中生成灰度热图

3

我有一个包含十进制值的大矩阵。

我想在Matlab中用灰度热图绘制它。

该怎么做呢?

我尝试使用rgb2gray函数,但是为了使用它,我需要先创建一张图片。在Matlab中如何实现这一点呢?


你好,Deadman,有什么后续吗?你可以考虑看一下我的答案,我认为它可以解决你的问题。 - Pedro77
3个回答

4

imagesc 可以完成这个任务。

imagesc(img)
axis equal off
colormap gray
colorbar

是的,如果您有图像处理工具箱,imshow 也可以使用。 - chappjc

1
您可以使用surf-plot。

您的矩阵:

A = rand(50,50);

以俯视角度绘制的图表:
surf(A);
view(0,90)

所需的灰度:
colormap(gray)

并且将颜色条作为图例:

colorbar

导致结果如下: 在此输入图片描述

1

示例代码:

myImage = mat2gray(myMatrix); % Converts your data to an image.
figure; hold on; % Creates a figure
imshow(myImage); % Show image
colormap(jet); % Sets the color map you want
colorbar; % Show a color bar on the right

以下是一些可能会对您感兴趣的颜色地图:

喷气式 jet

热图 hot

我认为jet代表了一个热度图

更多信息,请参见Mathworks colormap page


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接