打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Matlab导出高清图片的正确方法

前几天,有朋友在看了“你一定要知道的十款主流画图软件,淡定的工作从画出高品格图片开始”后留言说:高版本Matlab导出的图片,现在已经没有图片锯齿的问题了。

 

这意味着Matlab这款神器已经修复了画图这个bug,可以用来导出高分辨率的图片了。

 

下面和大家讨论下如何保存由Matlab绘制出来的图像,不完备的地方请留言指正。

 

当然这里我们只考虑Matlab自带的方法或函数,借助第三方截图软件导图的方法不在此讨论的范围中。

 

1. Copy到剪贴板

Figure中使用菜单Edit中的Copy figure,这样图像就复制到剪贴板,然后再贴到想要贴的位置即可。

 


 


2.使用imwrite函数

imwrite函数可以将图像数据写成图像文件。

 

当使用imshow将图像显示在坐标系以后,可以使用getimage函数获取坐标系中的图像文件,然后使用imwrite保存图像。代码如下:

I=getimage(gcf);

imwrite(I,'myphoto.jpg')

 


3. Saveas的方法

Saveas的方法有两种:

(1) 菜单中直接另存为

Figure中使用菜单File中的saveas



然后选择保存形式(fig, eps, jpeg, gif, png, bmp等):


 

(2) saveas命令格式

Matlab提供saveas函数可以直接将指定Figure中的图像进行保存,函数使用格式为:

saveas(figure_handle, filename, fileformat)

其中,

figure_handle是图形句柄,如果图形窗口标题栏是’figure 2,则句柄就是2。用gcf可以获取当前窗口句柄。

filename是文件名。

fileformat是指定存储格式。常用的有:

       BMP:‘-dbitmap’图片清晰,但文件极大

       TIFF:‘-dtiff       图片较清晰,文件大小还行

       PNG:‘-dpng   TIFF差不多

       JPEG:‘-djpeg 文件小,较清晰

       GIF:‘-dgif        文件小但不清晰

推荐使用TIFFPNG格式。


值得一提的是,saveas有个功能是保存为fig文件,下次可以直接编辑这个fig文件画图。另外还可以根据fig文件获取数据:

h=get(gcf,myphoto)

data=get(h,{'xdata','ydata','zdata'})

这样,fig图形中的三维数据xyz将会以结构体的形式保存到data变量中。

 


4. print函数

print函数导出图片有点高射炮打蚊子,但导出的图片确实高清。它可以将当前坐标系中的内容打印到文件,或者打印到剪切板,函数使用格式为:

print(figure_handle, fileformat, filename)

文件格式:同saveas命令一样


Print函数可以对分辨率等各项指标进行设定,而且支持许多图片格式。


如要把图保存成jpeg格式,可以用如下代码:

print -djpeg -r300 myphoto

其中,

-djpeg是格式,d表示devicejpeg表示格式。

-r300表示像素300dpir表示resolution的缩写,300dpi是分辨率数值,一般期刊要求黑白图片600dpi,彩色图片300dpi。

myphoto是文件名。


5.总结

最后,我们总结一下Matlab导出图片的几种方法:

(1) Copy到剪贴板,常用于把最新结果发给别人进行初步讨论。

 

(2) imwrite常与getframe结合使用,主要目的不是为了保存高清图片,而是为了批量保存截图,为下一步生成动画或gif动图做准备。

 

(3) saveas最常用的功能并不是直接导图,而是保存为fig格式。将来需要细致修改时,可以方便打开并二次导出。

 

(4) print是日常绘图的首选。因为它对格式、分辨率等各项指标进行非常细致的定义,适合直接出图。

(END)

1你一定要知道的十款主流画图软件

2发表SCI论文有哪些实用工具?

3最值得学习的Matlab参考书有哪些?

4你一定要知道的几款经典文本编辑器

5最常用的10个Matlab快捷键,助你编程更高效

6哪种编程语言最值得花时间学习?

7半夜看小说伤眼睛怎么办?

8家里没人怎么防火防盗?装上这段自动看家程序

9机器学习这么火,想跳坑该怎么做?


回复“热门”查看更多信息


科学计算编点程3M君,酷爱MatlabPython编程,擅长图像识别和多媒体处理。不定时po一些自己在科学、工程计算编程中总结的经验教训、小技巧、实用工具和好玩的东西,欢迎关注~

文为原创,转载请联系我。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
matlab 之批量保存图像,再论 imwrite print saveas
[转载]转:MATLAB导出高清晰图片
Matlab中图片保存的四种方法讲解
Python新手绘图绕不开的17个小问题,学完超过70%的人
MATLAB中gif格式动画制作教程|MATLAB 基础知识讨论|MATLAB技术论坛
[转载]matlab如何设置导出图片分辨率
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服