在Matlab中我正在使用imshow在图像上使用imagesc绘制矩阵(我们称之为M)。我希望M有一定程度的透明度,所以我实际上可以看到下面的图像。这就是我正在做的事情:
imshow(img); hold on;
h = imagesc(M);
set(h,'AlphaData',0.4); % set transparency to 40%
但是,最后一行在Linux上运行时会产生错误。我一直试图解决它,但似乎没有任何作用。我想知道是否有“AlphaData”属性的替代方法可以使其透明。谢谢!
编辑:我在Linux CentOS 6.6上使用Matlab R2014a和Java 1.7答案 0 :(得分:2)
如Luis Mendo所示,我只需要更改渲染器。你可以:
>get(gcf,'renderer'); % to see which render engine is Matlab using
>set(gcf,'renderer'); % to get a list with all the possible renderers in your machine
所以,至少在Linux中,要更改渲染器,从终端启动Matlab需要将其调用为:
matlab -softwareopengl
完成此操作后,可以在特定情节中设置透明度,如问题说明中所示。