
目前,Matlab的图片导出存在以下两个问题:①导出图片质量不高 ②导出的图片和figure中实际所见不一致。
export_fig是由Yair Altman提供的一款用于将图形从Matlab导出为标准图像和文档格式的工具箱,在MATLAB Central上一直下载量排行第一。该工具箱解决了以上的两个问题,可以完全替代MATLAB的图片导出功能。
Matlab 2020+版本也可以使用exportgraphics命令!
一.saveas、print、export_fig的对比
saveas和print会改变图片大小、刻度等,画出的线条都有很明显的锯齿,有白边;而export_fig与figure窗口显示的一致,线条和文字都是经过抗锯齿处理,且裁剪了多余的白边。
二.export_fig的使用
1.基本用法
如果你想最快、最简单的学习该工具箱,使用下面两条命令即可
% 设置figure背景为白色set(gcf, 'Color', 'w');% 导出图片,位图每英寸具有500像素export_fig('E:\test1.png','-r500');
如果你想进一步学习,请看以下情况
%% 语法:export_fig(handle, filename);% 1.输出一张图片export_fig('E:\test1.png');% 2.输出多张图片for i=1:nexport_fig(sprintf('E:\图片%d.png', i));end% 3.输出figure1的图片fig=figure(1);export_fig(fig,'E:\test1.png');% 4.输出Axes1的图片% Figure下有Axes1、Axes2% 适用于多图情况fig=figure(1);ax=findobj(fig,'Type','Axes');export_fig(ax(1),'E:\test1.png')
当然,你也可以改变输出图片的分辨率
% -m2:以屏幕上图形的两倍(以像素为单位)输出export_fig('E:\test1.png','-m2');% -r500:输出位图每英寸具有500像素export_fig('E:\test1.png','-r500');
2.其他用法-透明图
im=imread('screenshot.jpg');imshow(im);alpha(0.5);set(gca, 'Color', 'none');export_fig test.png -native -transparent

工具箱获取:
方式1:https://ww2.mathworks.cn/matlabcentral/fileexchange/23629-export_fig/?s_tid=ILM2FXsub
方式2:回台回复“export”即可
参考资料:
[1]..https://github.com/altmany/export_fig/blob/master/README.md
[2].https://www.ilovematlab.cn/thread-245377-1-1.html



点个在看你最好看

文章转载自不糊涂录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




