[转载]matlab图片输出(二) 图片的透明处理
标签:
转载 |
原文地址:matlab图片输出(二) 图片的透明处理 作者:ronei
运行如下命令:
[x,y]=meshgrid(1:15,1:15);
tri = delaunay(x,y);
z = peaks(15);
z(z<0)=nan;
H = trisurf(tri,x,y,z);
view(2);
set(gcf,'color','none');
set(gca,'color','none');
grid off;
axis off;
axis([min(x(:)) max(x(:)) min(y(:)) max(y(:))]);
set(gcf,'InvertHardcopy','off');
set(gcf,'paperpositionmode','auto');
set(gca,'position',[0.0 0.0 1 1]);
saveas(gcf,'output.png');
http://s8/bmiddle/618af195g72bc2dbbbdb7&690图片的透明处理" TITLE="[转载]matlab图片输出(二)图片的透明处理" />
保存为output.png时,灰色网格部分就变成灰色的了。但导入ppt,word等软件是,此灰色部分仍会显示。
[A,MAP] =imread('output.png');
[dim1,dim2,dim3]=size(A);
Alpha=ones(dim1,dim2);
for i=1:dim1
for
j=1:dim2
if (A(i,j,1)==204 &A(i,j,2)==204 &
A(i,j,3)==204)
Alpha(i,j) = 0;
end
end
end
figure;
imshow(A);
imwrite(A,'output2.png','Alpha',Alpha);
运行后的效果如下:
http://s14/bmiddle/618af195g7b59de01402d&690图片的透明处理" TITLE="[转载]matlab图片输出(二)图片的透明处理" />
以上程序,首先读入output.png,A为m*n*3的RGB矩阵.
建立Alpha矩阵,循环整个A矩阵,如果RGB都为204的话,就是灰色部分,令Alpha为0,为透明。
将A矩阵,及Alpha矩阵,同时用imwrite函数输出为outpuu2.png。
[x,y]=meshgrid(1:15,1:15);
tri = delaunay(x,y);
z = peaks(15);
z(z<0)=nan;
H = trisurf(tri,x,y,z);
view(2);
set(gcf,'color','none');
set(gca,'color','none');
grid off;
axis off;
axis([min(x(:)) max(x(:)) min(y(:)) max(y(:))]);
set(gcf,'InvertHardcopy','off');
set(gcf,'paperpositionmode','auto');
set(gca,'position',[0.0 0.0 1 1]);
saveas(gcf,'output.png');
http://s8/bmiddle/618af195g72bc2dbbbdb7&690图片的透明处理" TITLE="[转载]matlab图片输出(二)
保存为output.png时,灰色网格部分就变成灰色的了。但导入ppt,word等软件是,此灰色部分仍会显示。
[A,MAP] =imread('output.png');
[dim1,dim2,dim3]=size(A);
Alpha=ones(dim1,dim2);
for i=1:dim1
end
figure;
imshow(A);
imwrite(A,'output2.png','Alpha',Alpha);
运行后的效果如下:
http://s14/bmiddle/618af195g7b59de01402d&690图片的透明处理" TITLE="[转载]matlab图片输出(二)
以上程序,首先读入output.png,A为m*n*3的RGB矩阵.
建立Alpha矩阵,循环整个A矩阵,如果RGB都为204的话,就是灰色部分,令Alpha为0,为透明。
将A矩阵,及Alpha矩阵,同时用imwrite函数输出为outpuu2.png。

加载中…