-
matlab 保存图片大小尺寸_MATLAB论文消除白边及生成合适大小PDF
2020-12-31 00:33:26在使用LaTex撰写论文的时候,图片格式大多会使用PDF或者EPS格式的,EPS格式的个人使用的比较少,所以在这里主要...如下面的这些连接:阿昆:Matlab论文插图消除白边的5种方法zhuanlan.zhihu.comWeiyanZhou:matlab...在使用LaTex撰写论文的时候,图片格式大多会使用PDF或者EPS格式的,EPS格式的个人使用的比较少,所以在这里主要是介绍PDF格式。一般在使用MATLAB作图的时候经常会碰到做出的图有白边的情况,目前已经有很多人对于如何消除白边做了很多的研究工作也有了很多方法。如下面的这些连接:
阿昆:Matlab论文插图消除白边的5种方法zhuanlan.zhihu.comWeiyanZhou:matlab画图去除白边zhuanlan.zhihu.com以及最为基础的搞清楚matlab中的figure的Position和坐标的Position的关系的文章:
阿昆:Matlab、Visio导出精美论文插图——位置与尺寸设置zhuanlan.zhihu.com但是上面的在消除白边的时候似乎都改变了图片的大小,对图进行了一定的伸缩。从而不能比较好的控制图片的大小[1][2]。通过上面的文章[3]可以看到,在画图的时候主要是控制figure的position和坐标的position从而来控制图片的大小。所以在画图之前应该确定自己想要输出的图片Figure是固定的还是里面的Axes是固定的。
figure的position和Axes尺寸的关系。
所以在作图的时候可能希望Axes尺寸是固定的,所以在进行上面的操作的时候的Axes的Position会有一定的伸缩,导致画出的图片大小可能存在不一致的情况。所以如果要控制一致的情况下,可以有下面三种方法:
1.直接控制figure和Axes的边距来消除白边,具体的边距大小需要人去看。
figure plot(peaks) title('Plot of Peaks Function') set(gcf,'Units','centimeters','Position',[1.3 1.3 9 7.2]) set(gca,'Units','centimeters','Position',[0.7 0.6 8 6])
由于输出的pdf可能需要裁边,所以MATLAB的帮助文档里面也提供了相应的控制输出pdf和figure相匹配的修改方法如下:
fig = gcf; fig.PaperPositionMode = 'auto'; fig_pos = fig.PaperPosition; fig.PaperSize = [fig_pos(3) fig_pos(4)]; print('-painters','-dpdf','-r600','test')
通过这样的方法,那么输出的pdf没有白边。
2.通过matlab fileechange提供的工具箱export_fig来进行裁边和输出pdf,这个需要注意的是Interpreter使用tex的时候,如果使用LaTex语言(MATLAB提供一些可以在Interpreter为tex情况下使用的一些特殊字符,基本上包含了常用的大多数的字符),在输出的图片的时候会存在乱码。Interpreter必须要选择latex。
3.通过LaTex自带的一个PDF裁边工具pdfcrop来对输出的PDF进行裁边,这样只需要设置Axes的大小位置,通过pdf裁边就可以实现图片的大小。
很多时候我们希望输出的Axes大小固定,输出的figure大小也固定,并且还没有白边。目前似乎比较难控制,只能通过第一种方法来固定Axes的大小和Figure的大小来确保输出的PDF大小是一致的,但是这种方法因为是通过人来观察是否有白边,那么可能消除的白边效果没有那么好。但是一般在大多数的情况下,只需要确保figure的大小就可以[4][5][6]
由于时间原因,写的时候比较混乱,有问题请指教。
参考
- ^https://zhuanlan.zhihu.com/p/131602083
- ^https://zhuanlan.zhihu.com/p/57606534
- ^https://zhuanlan.zhihu.com/p/114980765
- ^https://ww2.mathworks.cn/help/matlab/creating_plots/save-figure-with-minimal-white-space.html?s_tid=srchtitle
- ^https://ww2.mathworks.cn/help/matlab/creating_plots/automatic-axes-resize.html?s_tid=srchtitle
- ^https://ww2.mathworks.cn/help/matlab/ref/matlab.graphics.axis.axes-properties.html
-
matlab 保存图片大小尺寸_Matlab导出论文插图的7种方式及其性能评估
2021-01-01 01:56:55关于如何用Matlab导出论文插图,其实在之前的两篇文章里已经说过很多了(Matlab自动导出高质量、无变形论文插图辅助工具;Matlab自动导出论文插图)。但有趣的是,当我介绍用print函数输出图片时,评论区说还是...关于如何用Matlab导出论文插图,其实在之前的两篇文章里已经说过很多了(Matlab自动导出高质量、无变形论文插图辅助工具;Matlab自动导出论文插图)。
但有趣的是,当我介绍用print函数输出图片时,评论区说还是export_fig好;
而当我介绍export_fig时,又道“print它不香吗” ……
想了想,索性把常见的几种导出插图的方法在这里统一整理一下,以后就不再投入时间精力了。
(生成插图所用脚本文件见文末)
整体性能:
预设:
对象属性—文字大小、线型等均已提前设置好;
图窗尺寸—长12cm,高9cm;
输出格式—PNG/JPG/TIF(论文投稿提交图片常用格式);
方法一:file->save as...
这一方法的操作方式很简单。
在Figure图窗中,点击‘File’->‘Save As...’,然后选择要保存的格式即可。
保存图片的属性如下:
可以看出,尺寸是没有问题的,但分辨率基本上就是默认的分辨率,清晰度会差一些。
方法二:saveas函数
使用方法:
saveas(fig,filename) saveas(fig,filename,formattype)
示例:
saveas(gcf,‘test.png’); % 以png格式、文件名test输出当前图窗对象
所得图片属性如下:
与方法一相比,分辨率有所提升。
方法三:Export Setup
在‘Figure’窗口中,单击‘File’->‘Export Setup…’,
在弹出的‘Export Setup: Figure’窗口,分别调整图片尺寸:
分辨率:
保存设置后,选择‘File’->‘Save As...’,按自己所需格式保存。
这一方法算是方法一的升级版,其所得图片属性如下:
可以看出,图像尺寸与分辨率均为设置值。
方法四:copy figure
在Figure图窗中点击‘Edit’->‘Copy Figure’,
这样图像便已复制到剪贴板上了,然后到word里粘贴即可。
可以看出,至少尺寸是没问题的。这是因为在复制前,我把预设改了一下:
单击‘Edit’->‘Copy Options…’,在弹出的窗口中选择‘Match figure screen size’,
由于已经提前设置好了图窗尺寸,且图窗尺寸等于屏幕显示尺寸(见:Matlab、Visio导出精美论文插图——位置与尺寸设置),所以尺寸是对的。
输出图像的属性与方法一完全一致。
值得一提的是,这里格式选的是‘Bitmap’,若选择‘Preserve information (metafile if possible)’,则输出的是矢量图,可以复制到Adobe Illustrator继续进行编辑:
方法五:print
使用方法:
print(gcf, 'test.png','-r300','-dpng');
所得图像与方法三所得可以说完全一致,但这一方法可以用于批量导出多张图片。
详细代码及用法见文末链接。
方法六:export_fig
export_fig是由Yair Altman提供的一款用于将图形从Matlab导出为标准图像和文档格式的工具箱,可以完美解决锯齿、变形问题。
具体获取与安装方式见:
Matlab自动导出高质量无变形论文插图mp.weixin.qq.com使用方法:
export_fig test.png –r300
所得图像属性:
由于默认消除了白边,所以图像的宽度和高度均有所减小,但绘图区域整体的大小其实并没有改变,所以并不影响使用。
假如不想消除白边,则命令需改为:
export_fig test.png –r300 –nocrop
方法七:exportgraphics
这一方法是在新版的MATLAB2020a中新增的函数。
使用方法:
exportgraphics(obj,filename) exportgraphics(obj,filename,Name,Value)
具体使用方法见:
心同流水:使用MATLAB科研绘图zhuanlan.zhihu.com--------------------------------------
最后,把前六种方法所得图像的legend单独截出来,与原图进行对比:
可以看出:
- 方法一和方法四的虚线与原图是完全一致的,可惜无法调节分辨率;
- 方法二、三、五的效果是一致,与原图稍有出入;
- 而用export_fig输出的图像(方法六)算是自成一派吧,多少还是有些不一样的,但也可以接受。
-----------------------
作图所用代码获取方式:
figure_exportmp.weixin.qq.com以上。
-
MATLAB论文绘图模板与尺寸设置
2021-01-15 15:56:54MATLAB论文绘图模板与尺寸设置MATLAB图形绘制尺寸设置MATLAB常用指令参考文献新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表...MATLAB论文绘图模板与尺寸设置
MATLAB图形绘制尺寸设置
首先我们需要清楚MATLAB对图形尺寸的几个定义:
screen:默认为电脑显示屏幕;
figure:matlab软件用于直观性图形输出的窗口个体;
axes:在当前图窗中创建默认的笛卡尔坐标区,并将其设置为当前坐标区。
Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。
同样,figure下面是axes。axes是那个窗口figure里面你要画的东西。axes的大小和位置取决于figure,如果放大缩小figure的大小,里面的图像也会跟着变化的。
figure和axes中属性Position的定义与使用
figure中的OuterPosition和InnerPosition:
- OuterPosition是指外部边界的位置和大小;
- InnerPosition是指可绘制区域的位置和大小,默认等于Position;
axes中的OuterPosition和InnerPosition:
- OuterPosition是指包含标签和边距的尺寸;
- InnerPosition是指不包含标签和边距的尺寸,默认等于Position。
根据实际操作,我们发现导出的实际图形尺寸为InnerPosition尺寸,一般与Position值相等。
figure及axes属性修改的三种方式
这里以figure对象的Position属性为例展示了三种修改方式:
figure('Name', 'Test', 'Color',[1,1,1], 'Units', 'centimeters','Position',[5,5,16,13]) # 其中属性Position用于控制左下角点和figure尺寸,注意默认单位为pixel,这里更改为cetimeters
# 同样可以通过访问具体属性的方式进行修改 f1 =figure f1.Units = 'centimeters'; f1.Position = [5,5,16,13];
# 也可以采用函数set进行figure属性的修改 f1 = figure set(f1,'Units','centimeters','Position',[5,5,16,13]) #若使用set(gcf,...)是指对当前figure属性的修改,gca则是对当前axes属性的修改。
可见,上述三种修改方式最重要的是对对象f1的访问,因此在创建figure或axes以及其他类似对象时,最好给对象figure赋予一个实际的f1,这样便于后续对属性的修改。
图形导出理想尺寸的最方便的方法
- 首先按照要求将线形、线宽、Legend、Title、X/YLabel,字体、字号等设置好,可在交互式窗口设置,也可采用编程方法设置;
- 在图窗中点击文件→导出设置→设置宽度和高度并放大坐标去至充满图窗(至此,图形尺寸设置完毕);
- 点击字体,设置为TimesNewRoman,若在步骤1中均已设置好,此处可不用设置,一般设置字号为10pt,
- 应用于图窗观察效果,可选择导出为.svg格式矢量图或者直接在图窗编辑按钮下选择复制图窗,然后粘贴至word中即可。
MATLAB绘图模板,以3子图12cm宽的函数输出为例
参考文献
-
matlab改变图像尺寸_Matlab论文插图消除白边的5种方法
2020-11-28 11:51:02点击上方“CVer”,选择加"星标"或“置顶”重磅干货,第一时间送达本文作者:阿昆https://zhuanlan.zhihu.com/p/131602083...白边的存在会影响图片显示效果,有时也会给论文的排版造成一定麻烦。要想消除白边,简单...点击上方“CVer”,选择加"星标"或“置顶”
重磅干货,第一时间送达
本文作者:阿昆
https://zhuanlan.zhihu.com/p/131602083
本文已由原作者授权,不得擅自二次转载
Matlab所制作的插图,如不进行一定的修正,其四周往往存在一定范围的白边,换句话说就是绘图区域未能填充整个画布。
白边的存在会影响图片显示效果,有时也会给论文的排版造成一定麻烦。
要想消除白边,简单的方法,在导出插图后,用其它软件的‘裁剪’功能,手动裁掉白边。
但这种办法,处理一两张图片还好,如果多了,那简直是灾难。
所以要想办法在源头解决问题,避免过多的机械劳动。
---------------
方法1
LooseInset是Matlab坐标轴的一个隐藏属性,其默认值是[0.13, 0.11, 0.095, 0.075],从而为刻度标记留出一定的空间。
Apparently, LooseInset, which is automatically set to a factory value of [0.13, 0.11, 0.095, 0.075], is used by Matlab axes to reserve a small empty margin around the axes, presumably to enable space for tick marks.
若将其清零,则可以消除白边。
set(gca, 'LooseInset', [0,0,0,0]);
效果如图:
方法2
另一种方法是结合TightInset属性与LooseInset属性。
在Matlab中,坐标轴的Positon(蓝色),OuterPosition(红色)与TightInset(品红)范围如图所示。
When determining the size of the axes, it seems that Matlab takes into account larger of the documented TightInset and the undocumented LooseInset. So, perhaps a better generic solution would be the one suggested by another blog reader:
set(gca,'LooseInset',get(gca,'TightInset'))
效果与1基本一致:
方法3
参考matlab画图,如何消除图形中多余的空白区域,通过改变坐标区的‘Position’信息以消除白边。
set(gca, 'Position', get(gca, 'OuterPosition') - ...
get(gca, 'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1]);方法4
在File>export setup中,选择‘Expand axes to fill figure’。
效果与上述三种方法效果类似。
方法5
有时候,会遇到坐标轴刻度间距一致(axis equal),且数据纵横坐标范围相差较大的情况。
比如这样:
左图没加‘axis equal’,右图加了‘axis equal’ 或是这样:
左图没加‘axis equal’,右图加了‘axis equal’ 其中,右图坐标区的空白都可以用axis tight消除:
这时,若使用前述方法,往往只能在一个方向去掉白边。
主要原因在于窗口的尺寸是不变的,坐标区的纵横比又是锁定的。
一种方法是,计算坐标区长度与宽度的比例,通过改变figure窗口尺寸以使坐标区填充画布:
pos=get(gcf,'Position'); % 获取窗口尺寸信息
pos(3)=pos(4)/3; % 改变窗口宽度(倍数根据长宽比自己确定)
set(gcf,'Position',pos) % 更新窗口尺寸该方法对其它情况其实同样有效,只是窗口、坐标区尺寸的设置会麻烦些。
关于尺寸设置的相关内容见:
https://zhuanlan.zhihu.com/p/114980765
重磅!CVer-论文写作与投稿 交流群已成立
扫码添加CVer助手,可申请加入CVer-论文写作与投稿 微信交流群,目前已满1250+人,旨在交流顶会(CVPR/ICCV/ECCV/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。
同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如论文写作+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲长按加微信群
▲长按关注CVer公众号
麻烦给我一个在看!
-
ai导出图片尺寸不对_Matlab自动导出论文插图
2021-02-01 06:16:47一般期刊要求论文图片要清晰美观,至少图中字符要能看得清(>8)。单是这一条,就让我搞了好久。策略0 截图最开始是用QQ截图:为了清晰,我凭感觉调大字号,图片放大到屏幕容不下,截图后插入到word里,再调整... -
MATLAB设置图片输出的尺寸大小与字体(适用科研论文)
2020-02-23 14:59:39在发表学术论文的时候,往往对图片格式有一定的要求。通常使用eps格式的图片,并对图片的尺寸也有要求。 这里以输出图片要求 字体 为 Time New Romance,宽度 为 3.5in 为例: 第一步: 在图片界面点击 文件 — 导出... -
如何在Matlab里直接导出符合论文尺寸的图片?
2020-08-12 20:01:00%Matlab内快速绘图fplot(@(x) sin(2*pi*x)); % 给图形添加基本注释信息 title('sin(2*pi*x)'); xlabel('x'); ylabel('y'); 第一步:设置图片的尺度单位 set(gcf,'Units','Inches'); 第二步:通过gcf句柄获取... -
【MATLAB绘图脚本】用于期刊的matlab单张图片尺寸、坐标轴等基本设置
2021-03-07 16:15:47期刊论文常用绘图尺寸 建议提前看看肖老师的绘图经验。 使axes铺满figure的方法 实际上我们从matlab输出的图形尺寸是指figure.Position. 这里需要理解figure以及axes的属性Posiiton,OuterPosition,InnerPosition... -
matlab保存图片时不使用指令设置图像分辨率、尺寸等
2021-03-21 09:05:19已经过了用命令来炫酷的年龄,越简单越实用越直观,越好!论文出图的时候,要求横轴纵轴label的字体大小、图像尺寸大小和分辨率,但是纯代码浪费时间,那么就用matlab最直观的设置界面吧!推荐大家看这个博客, ... -
matlab学位论文绘图美化工具_Matlab自动导出高质量、无变形论文插图辅助工具
2020-12-23 16:32:44在去年的一篇文章(Matlab自动导出论文插图...总结下来,大概就是:有锯齿有变形尺寸变化首先,关于图片尺寸设置问题,这是在导出图片前就该提前设置好的,而且鉴于在之前的文章(Matlab、Visio导出精美论文插图——位... -
echarts导出的图片变形_Matlab自动导出高质量、无变形论文插图辅助工具
2020-12-27 14:59:25在去年的一篇文章(Matlab自动导出论文...总结下来,大概就是:有锯齿有变形尺寸变化首先,关于图片尺寸设置问题,这是在导出图片前就该提前设置好的,而且鉴于在之前的文章(Matlab、Visio导出精美论文插图——位... -
matlab print函数_Matlab导出论文插图的7种方法
2020-12-04 15:11:497种方式的整体性能如下:注:1)对象属性—文字大小、线型等均已提前设置好2)图窗尺寸—长12cm,高9cm3)输出格式—PNG/JPG/TIF(论文投稿提交图片常用格式)方法一:file->save as这一方法的操作方式很... -
MATLAB SCI论文绘图及绘图窗口大小设置
2020-07-13 21:54:45如果不考虑图片在论文中的大小,统一尺寸出图必然会影响图中文字清晰、曲线粗细,从而影响到图片美观。这里基于MATLAB就介绍两种出图方法。方法一通过手动调整出图参数进行出图,方法二通过代码进行自动出图。下面对... -
matlab 画图直接存储_Matlab 绘图并自动保存论文格式
2020-12-29 00:03:15Matlab绘图并自动保并设置本文档是写论文过程中对论文matlab配图的一些常用设置的总结,包括对图片大小,位置,线条以及标注的一些设置,该文档可以提供一个快速参数的设置,更详细的设置可以查阅帮助文档。... -
matlab shapewrite 输出图像不对_Matlab自动导出高质量、无变形论文插图辅助工具
2021-02-03 12:48:09在去年的一篇文章(Matlab自动导出论文...总结下来,大概就是:有锯齿有变形尺寸变化首先,关于图片尺寸设置问题,这是在导出图片前就该提前设置好的,而且鉴于在之前的文章(Matlab、Visio导出精美论文插图——位... -
导出obj_Matlab导出论文插图的7种方法
2021-01-12 17:21:447种方式的整体性能如下:注:1)对象属性—文字大小、线型等均已提前设置好2)图窗尺寸—长12cm,高9cm3)输出格式—PNG/JPG/TIF(论文投稿提交图片常用格式)方法一:file->save as这一方法的操作方式很... -
【机器视觉】基于MATLAB+Hough变换对工件尺寸检测
2020-06-09 20:54:40声明:图片来自参考论文 大家好!这是我第一次写博客。本篇是根据数字图像处理的一次作业写的。有问题的地方欢迎指出。 正文 任务目标:检测图像中两个圆孔的圆心距和各自的半径。 方案:用MATLAB复现《基于机器... -
如何在论文中显示小尺寸的清晰图像
2007-08-31 10:25:00问题:论文中的图片我是用matlab做的,第一次保存了png的格式(尺寸较大),在word中将图片进行放缩,结果不清楚了。如何显示小尺寸(如70cm)的图片?对策: 在图形窗口中设置输出格式即可。File->Export Setup。... -
matlab——遍历文件夹中的图像
2018-05-29 19:41:54matlab——遍历文件夹中的图像任务:遍历多个文件夹的子文件夹中的多张同等尺寸的图片(png格式),将其二值图合并为一张二值图,并保存到上级文件夹中。说明:目标:matlab代码:close all;clear all;clc; %% 合并... -
科研小技巧——论文投稿视频制作指南
2020-06-27 11:19:29因此,为达到这一目的,我们在制作视频时,要尽可能使视频结构清晰,多用动画的形式展示实验数据,而不是在视频中粘贴论文中的图片,另外对视频的颜色搭配和调色也需要格外注意。 1 应用软件 视频剪辑:Adobe ... -
博士预答辩之后关于中文论文踩坑心得
2019-03-19 10:08:10博士预答辩之后关于中文论文踩坑心得@Perfey summary 预答之前,紧张ppt,之后么全是对论文...原因一个是我想当然地调大了图片的尺寸,一部分是潜在要求,最后一部分是由word排版的+matlab图+mathtype公式+visio图... -
如何利用matplotlib作出高精度的图片
2019-01-29 11:15:18近来越来越多的研究生放弃使用MATLAB转用基于python语言的matplotlib来画论文报告的图表,说明后者自有比前者高的优势。比如博主itsc在其博客中做了如下实验: 将、以及图像精度对比,在matlab中发现了许多锯齿,... -
精确控制Origin to Word图片格式、大小及主题使用技巧
2020-03-30 14:31:36关于Origin本身的设置帖子很多了,但是如何精确控制Origin输出到Word中图片的大小图例的方法很难找到,而科技论文投稿中对图片尺寸的要求较高。绘图完成后通过Word自带的剪切功能或者PS修改都多多少少的造成一些失真... -
latex插入图片时,排版后显示的图片大小不一致的问题,插入表格位置乱飞
2020-01-13 11:02:33论文用了几种不同的数据模型,然后在插入实验图的时候太头大了,改了很多matlab保存的pdf的尺寸,然后又在latex当中去调整尺寸,反正改来改去发现还是不美观啊! 一开始是找的别人的代码,直接弄得插入下面代码,...