matlab 保存图片的几种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\') 

  

 

 

 

 

 

 

 

 

 

以上是关于matlab 保存图片的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

iOS中拉伸图片的几种方式