码迷,mamicode.com
首页 > 其他好文 > 详细

matlab 保存图片的几种方式

时间:2018-05-16 18:36:23      阅读:200      评论:0      收藏:0      [点我收藏+]

标签: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‘) 

  

 

 

 

 

 

 

 

 

 

matlab 保存图片的几种方式

标签:else   ges   app   介绍   cell   等等   filename   数组   image   

原文地址:https://www.cnblogs.com/hecc/p/9047198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!