Matlab中具有透明度的图像叠加

时间:2015-12-09 15:29:53

标签: image matlab

我正在尝试将肺部CT图像显示为背景图像,并将其ROI蒙版显示在第一张图像上并具有透明度。以下图片

enter image description here

到目前为止,我已经开发了以下代码:

load example.mat
fig = figure;
him = imagesc(img);
colormap(gray)
set(him, 'AlphaData', 0.3 * mask)

enter image description here

但它只显示遮罩覆盖区域的透明度。我真正想要的是整个肺部显示的面膜上面有一些颜色,如绿色。

此图片是我想要覆盖的一个示例。

enter image description here

这是包含CT肺基质和Mask矩阵的文件的链接。

Link for the .mat file with the images

1 个答案:

答案 0 :(得分:1)

您可以叠加另一张图片:

hold on
ih = image(cmask, 'AlphaData', mask.*.3, 'CDataMapping', 'direct');

此处,cmask例如通过

获得
cmask = zeros(size(mask, 1), size(mask, 2), 3);
cmask(:, :, 2) = mask.*255;

获得绿色面具。