标签:else ges app 介绍 cell 等等 filename 数组 image
最近在写毕业论文, 需要保存一些高分辨率的图片. 下面介绍几种MATLAB保存图片的 方式.
一. 直接使用MATLAB的保存按键来保存成各种格式的图片
你可以选择保存成各种格式的图片, 实际上对于一般的图片要求而言, 该方法已经足够了.
二. 使用saveas函数
该函数实际上类似于 “另存为” 的选项, 并且忽略图片的背景大小等等, 按照默认的属性存储.
一般格式为为
saveas(fig, filename, formattype)
clear clc x = 0:0.01:2*pi; y = sin(x); plot(x, y) xlabel(‘x‘) ylabel(‘y‘) title(‘y = Sin(x)‘) saveas(gcf, ‘test‘, ‘png‘)
这的可选项有png, jpg, bmp等等, 以及矢量图格式, eps, svg, pdf等等.
三. 使用imwrite函数
imwrite 实际上是保存一个描述图片的数组, 使用的一般格式为imwrite(A, filename)
clear clc x = 0:0.01:2*pi; y = sin(x); plot(x, y) xlabel(‘x‘) ylabel(‘y‘) title(‘y = Sin(x)‘) f = getframe(gcf); imwrite(f.cdata, ‘test.png‘);
该函数可以用于保存为png, jpg, bmp等等格式, 但是不可以保存为eps, svg, pdf 等矢量图格式.
该函数还可以用于保存gif.
clear clc n = 1:10; nImages = length(n); x = 0:0.01:1; im = cell{nImages, 1}; figure; for idx = 1:nImages y = sin(2*pi*x*idx); plot(x,y,‘LineWidth‘,3) title([‘y = sin(2n\pix), n = ‘ num2str(n(idx)) ]) drawnow frame = getframe(gcf); im{idx} = frame.cdata; end close; filename = ‘test.gif‘; for idx = 1:nImages [A,map] = rgb2ind(im{idx},256); if idx == 1 imwrite(A,map,filename,‘gif‘,‘LoopCount‘,Inf,‘DelayTime‘,1); else imwrite(A,map,filename,‘gif‘,‘WriteMode‘,‘append‘,‘DelayTime‘,1); end end
四. 使用 printf 函数
clear clc x = 0:0.01:2*pi; y = sin(x); plot(x, y) xlabel(‘x‘) ylabel(‘y‘) title(‘y = Sin(x)‘) print(gcf,‘-dpng‘,‘test.png‘)
标签:else ges app 介绍 cell 等等 filename 数组 image
原文地址:https://www.cnblogs.com/hecc/p/9047198.html