如何在Matlab中对图像进行部分透明叠加?

时间:2016-06-17 08:30:01

标签: matlab image-processing masking

我将图像细分为切片超像素。我使用gui来选择其中一些超像素。 现在我想将选定的超像素突出显示为透明瓷砖  但是我只知道如何a)使用遮罩来抑制叠加图像的某些部分,或者b)如何将整个叠加设置为透明。

A)

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

b)中

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

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

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

a)

b)

1 个答案:

答案 0 :(得分:1)

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

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