可视化图像上的点作为热图

时间:2019-12-01 05:57:15

标签: matlab visualization heatmap

我有一组点存储在名为pts的变量Mx3中。

其中pts(:,1)是图像上的x坐标,pts(:,2)是图像上的y坐标,而pts(:,3)是概率。

如何将图像上的点可视化为热图。点与 较高的概率以深红色显示。与所附图片相似。

任何帮助将不胜感激!

See image for an example

1 个答案:

答案 0 :(得分:2)

由于您没有提供数据,因此我无法使用您的示例,但是解决您的问题的一种简单方法是在图像顶部使用imagesc坐标值作为z颜色。您显然应该发挥透明度,以获得预期的结果。

一些简单的例子:

rgbImage = imread('p.jpg');

dims = size(rgbImage);
p = rand(dims(1),dims(1));

x = linspace(1,dims(1), dims(1));
y = linspace(1,dims(1), dims(1));
A = meshgrid(x,y);
size(A)

imagesc(rgbImage);
hold on
im = imagesc(x,y,p);
im.AlphaData = .5;

原始图片是:

enter image description here

并应用脚本后:

enter image description here

注意

我只是添加了随机噪声,但是它很容易适应您的需求