在UIAxes中叠加透明图像

时间:2018-08-26 12:56:40

标签: image matlab matlab-app-designer

我正在尝试在UIAxes中的一个应用程序中显示2个重叠的图像。 我知道imshowpair(bg,fg,'blend'),尽管它确实有效,但是它不允许我控制透明度。

我尝试关注Steve's tip,他建议在其中使用:

f1 = imshow(fig1); 
f2 = imshow(fig2);
set(f2,'AlphaData',alpha) 

,但是在UIAxes中不能正常工作。当我设置'AlphaData'属性时,两个图像都变为透明。

我该怎么做?想法是有一个滑块,用户可以在其中以交互方式设置顶部图像的透明度。

参考代码和图片

f1 = imshow(ref,'Parent',app.UIAxes);
hold on
f2 = imshow(gbT2,'Parent',app.UIAxes);
hold off
set(f2,'AlphaData', alpha);

图形中的外观与UIAxes中的外观

figure vs UIAxes

1 个答案:

答案 0 :(得分:0)

在R2018a中运行,我无法重现此内容。这是我使用的代码:

I = imread('cameraman.tif');
f1 = imshow(I,'Parent',app.UIAxes);
hold(app.UIAxes, 'on')

I2 = imread('pout.tif');
f2 = imshow(I2,'Parent',app.UIAxes);
hold(app.UIAxes, 'off')

set(f2,'AlphaData', 0.5);