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

  1. ImageLoader框架的使用、调用系统相册显示图片并裁剪显示、保存图片的两种方式

    ImageLoader虽然说是一个相对于比较老的一个框架了 ,但是总的来说,还是比较好用的,今天我就总结了一下它的用法.还有调用系统相册并裁剪,以及,通过sharedpreference和文件存储来保 ...

  2. MATLAB 显示输出数据的三种方式

    MATLAB 显示输出数据的三种方式 ,转载 https://blog.csdn.net/qq_35318838/article/details/78780412 1.改变数据格式 当数据重复再命令行 ...

  3. Android 接入 OpenCV库的三种方式

           OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少 ...

  4. Python实现屏幕截图的两种方式

    Python实现屏幕截图的两种方式 使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处 ...

  5. 头像截图上传三种方式之一(一个简单易用的flash插件)(asp.net版本)

    flash中有版权声明,不适合商业开发.这是官网地址:http://www.hdfu.net/ 本文参考了http://blog.csdn.net/yafei450225664/article/det ...

  6. python利用mongodb上传图片数据 : GridFS 与 bson两种方式

    利用mongodb保存图片通常有两种方法,一种是将图片数据转化为二进制作为字典的键值对进行保存,另一种是利用mongodb提供的GridFS进行保存,两者各有利弊.性能方面的优劣未曾测试,无法进行评价 ...

  7. Struts2实现ajax的两种方式

    基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var ...

  8. Spark读写Hbase的二种方式对比

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 一.传统方式 这种方式就是常用的TableInputFormat和TableOutputForm ...

  9. Android中访问sdcard路径的几种方式

    以前的Android(4.1之前的版本)中,SDcard路径通过"/sdcard"或者"/mnt/sdcard"来表示,而在JellyBean(安卓4.1)系统 ...

随机推荐

  1. 一个通用的JavaScript分页

    1.JavaScript代码 Pagination=function(id) { var totalNum=0; var maxNum=10; var pageUrl=""; va ...

  2. php -- PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而不是通过浏览器直接打开下载的文件

    之前做项目遇到这样一个问题,就是在php环境下,用a标签的href链接到一个资源,比如是mp3或者lrc文件时,点击之后不是出现保存文件的提示,而是调用本地程序打开文件或者直接在浏览器上解析.网上说可 ...

  3. ThinkPHP项目笔记之RBAC(权限)中篇

    现在,说说添加权限,权限管理列表 c.添加权限

  4. 修复mysql:[ERROR] Native table ‘performance_schema’

    转: http://www.amznz.com/error-native-table-performance_schema/ mysql数据库出现如下错误,主要是因为升级了mysql软件包,而一些数据 ...

  5. VC++中CEdit控件实现回车换行

    1.通过回车Enter换行: 这里要有两个设置 <1>.将控件的属性设置为Mutilines->true; <2>.将控件的另一个属性设置为Want return-> ...

  6. UE4 Multiplayer多人局域网LAN联机打包参数设置

    需要注意几点: A. 建好后我们先到项目根目录,在Config文件夹中的DefaultEngine.ini文件加上两行: [OnlineSubsystem]  DefaultPlatformServi ...

  7. vue的递归组件以及三级菜单的制作

    js里面有递归算法,同时,我们也可以利用props来实现vue模板的递归调用,但是前提是组件拥有 name 属性 父组件:slotDemo.vue: <template> <div& ...

  8. EL表达式页面间传参(对象参数和普通参数)

    ${param['user.name']}.${param.name}

  9. BaseAdapter<T> 重写 createViewFromResource实现界面,刷新,加载,移除

    import java.util.ArrayList; import java.util.List; import android.content.Context; import android.vi ...

  10. MySQL的system命令在渗透测试中的使用以及UDF提权

    声明:下面引用关于SYSTEM的东西是自己之前的内容,是自己没有研究透导致的错误结论:有了错就要改,做技术的不能弄虚作假,时时刻刻要求自己要谨慎,虽然我的博客没人看,但是也要向所有已经看到的人道歉,错 ...