matlab中单独存图_matlab 保存图片的几种方式

最近在写毕业论文, 需要保存一些高分辨率的图片. 下面介绍几种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)')

printf(gcf,'-dpng','test.png')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值