matlab 如何在色彩Map表中定义透明元素

wgmfuz8q  于 2022-11-15  发布在  Matlab
关注(0)|答案(1)|浏览(375)

我想在色彩Map表中定义一种透明颜色,我该怎么做呢?
我需要它的原因是我的axes(由imagescplot生产)中有多个层。我知道我可以简单地先使用imagesc,然后使用plot,但我想在imagesc表示的非零值后面画一条线。
为了把零涂成白色,我用了

jet = colormap('jet');
jet(1:2,:) = 1;
colormap(jet);

现在我想让白色变得透明。

laik7k3q

laik7k3q1#

colormap没有Alpha的第四个元素,它只有RGB,所以我做这类事情的方法是制作一个所需透明度层的蒙版-二进制或灰度都可以-然后将其应用于图像。为此,您需要存储图像的句柄

% make random image
im = rand(100,100);
% make example alphamask
alphamask = im<0.3;
% store handle
hnd = imagesc(im);
% apply mask
set(hnd, 'AlphaData', alphamask);

相关问题