将图像上具有概率的点可视化为热图
Visualizing points with probability on an image as a heatmap
我有一组点存储在一个名为 pts
的变量中,它是一个 Mx3
矩阵。
其中pts(:,1)
是图像上的x坐标,pts(:,2)
是图像上的y坐标,pts(:,3)
是概率。
如何将图像上的点可视化为热图。积分与
较高的概率以浓红色显示。与所附图片相似。
如有任何帮助,我们将不胜感激!
由于您没有提供数据,我无法使用您的示例,但解决您的问题的一个简单方法是在图像顶部使用 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;
原图为:
应用脚本后:
注意
我只是添加了随机噪声,但它很容易适应你想要的
我有一组点存储在一个名为 pts
的变量中,它是一个 Mx3
矩阵。
其中pts(:,1)
是图像上的x坐标,pts(:,2)
是图像上的y坐标,pts(:,3)
是概率。
如何将图像上的点可视化为热图。积分与 较高的概率以浓红色显示。与所附图片相似。
如有任何帮助,我们将不胜感激!
由于您没有提供数据,我无法使用您的示例,但解决您的问题的一个简单方法是在图像顶部使用 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;
原图为:
应用脚本后:
注意
我只是添加了随机噪声,但它很容易适应你想要的