如何在 Matlab 中的图像上制作部分透明的叠加层?

How to make a partly transparent overlay on image in Matlab?

我有一个细分为切片超像素的图像。我正在使用 gui select 这些超像素中的一些。 现在我想将 selected 超像素突出显示为透明图块。
但是我只知道如何 a) 使用遮罩来抑制部分叠加图像或 b) 如何将整个叠加设置为透明。

一)

imshow(superPixelImage)
hold on;
h = imshow(overlayImage);
set(h,'AlphaData',overlayMask);

b)

imshow(superPixelImage)
hold on;
h = imshow(overlayImage);
set(h,'AlphaData',0.5);

有人知道如何将两者结合起来,使叠加层在非 selected 区域完全透明,在标记的超像素上部分透明吗?

编辑:
This 是我的 matlab 代码的测试版,可用于为图像数据库创建语义标签。

您可以插入一个与图像大小相匹配的矩阵来填充 'AlphaData' 参数。

imshow(superPixelImage)
hold on;
h = imshow(overlayImage);
AlphaMatrix = (~im2bw(overlayImage)>0)*0.5 %creation of your AlphaMatrix.
set(h,'AlphaData',AlphaMatrix);