我想要将两个图表叠加在一起,如下面的链接所示:
输入是左边的两个图像,输出是右边的图像。这是我使用的代码:
reference = imread('ref_foam.png');
figure, imshow(reference);
hold on;
h = imshow(data,[]);
hold off
colormap jet;
alphamap = zeros(size(reference,1),size(reference,2));
for i = 0:size(data,1)-1
for j = 0:size(data,2)-1
if(~(data(i+1,j+1) == 0))
alphamap(i+1,j+1) = 0.75;
end
end
end
set(h, 'AlphaData', alphamap);
任何时候数据数组中都为零,它会将透明度设置为零,否则会将透明度设置为0.75。
现在,我的问题是:如何才能将colormap应用于数据阵列?在这个例子中它可以工作,但是如果我将“reference”转换为灰度,那么colormap也适用于它。色彩映射的输入是一个轴句柄,无论如何输入图像的句柄(h),以便它只适用于顶部(数据)数组?另外,我也想实现一个颜色条。反正是否只将颜色条应用于数据数组?感谢。
答案 0 :(得分:0)
您可能希望使用subimage
命令 - 它允许您使用不同的颜色映射在同一图形上创建图像。
在脚本中创建和修改后,通过将图像的轴位置设置在彼此的顶部来覆盖图像。