问题: 当使用surf绘图时,图像失去了透明度。
我已经按照其他线程中描述的方法学会了如何创建具有透明背景的png文件。在这里 然而,当使用surf.m绘图时,图像并不透明。
以下是我目前拥有的代码:
该代码将image.png(蓝色正方形)转换为具有透明背景的test.png(去除黑色背景)。然后使用test.png生成surf图,结果不是透明的。您有什么想法我做错了什么?
我已经按照其他线程中描述的方法学会了如何创建具有透明背景的png文件。在这里 然而,当使用surf.m绘图时,图像并不透明。
以下是我目前拥有的代码:
img = imread('image.png');
A1 = ones(size(img));A2 = ones(size(img));A3 = ones(size(img));
A1(img(:,:,1)==0)=0;A2(img(:,:,2)==0)=0;A3(img(:,:,3)==0)=0;
A = A1+A2+A3;
A= A(:,:,1);
imwrite(img,'test.png','alpha',A);
[img,map,alpha] = imread('test.png');
ximage = [-.5,.5;-.5,.5];
yimage = [0,0;0,0];
zimage = [.5,.5;-.5,-.5];
surf(ximage,yimage,zimage,'Cdata',img,'Facecolor','texturemap','Edgecolor','none','alphadata',alpha);
axis vis3d
该代码将image.png(蓝色正方形)转换为具有透明背景的test.png(去除黑色背景)。然后使用test.png生成surf图,结果不是透明的。您有什么想法我做错了什么?