matlab print dmeta,[转载]转:MATLAB导出高清晰图片-程序员宅基地

技术标签: matlab print dmeta  

一个写论文用的小技巧,MATLAB产生的图片如何导出来合适大小或者符合编辑部要求的图片:

使用print命令,如下:

用于LaTeX的话,可以使用eps图片:

print -deps fig1

用于word的话,使用分辨率比较高的tif或者png格式即可:

print -dtiff -r500 fig1

产生的图片fig1插入到word中就可以满足要求的哦~~

---------------------------------------------------------

MATLAB图片保存方法

bar(randn(10,1))

print(gcf,'-r300','-dpdf','example1.pdf');

print(gcf,'-r300','-djpeg','example2.jpeg');

imwrite,print,saveas三个函数的区别如下:

在讲解之前,希望您区分图像和图形,前者就是我们说的位图,比如数码相机拍照的相片,后者是矢量图,就是扩大都不会改变的,比如3d软件绘制的图形

imwrite将图像数据写成图像文件,一般用于图像处理,当我们使用imshow将一副图像使显示在坐标系上时,我们可以使用如下方式保存图像

I=getimage(gcf); % 获取坐标系中的图像文件数据

imwrite(I,'myphoto.jpg')%保存图像为文件

saveas就是菜单中的 save

as(另存为)命令,将当前坐标系下的图形保存为图像文件,不管你坐标系中显示的图像还是图形,一律当成图形处理,他的本质是截图(除fig文件外)

print是打印命令,但是可以将当前坐标系中的内容打印到文件,或者打印到剪切板,saveas只是print函数的简化版

print(fh,'-dmeta');% 复制到剪切板

1 print的用法

Print(图形句柄,存储格式,文件名);

图形句柄,如果图形窗口标题栏是’figure

2’,则句柄就是2。用gcf可以获取当前窗口句柄。

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

PNG格式:,‘-dpng’(推荐这一种,与bmp格式一样清晰,文件也不大)

JPEG:

‘-djpeg’(文件小,较清晰)

TIFF:

‘-dtiff’

BMP:

‘-dbitmap’(清晰,文件极大)

GIF:

‘-dgif’

(文件小但不清晰)

2 saveas的用法

Saveas(图形句柄,文件名,文件格式)

文件格式:同print一样

k=0.8;

set(gcf,'units',get(gcf,'paperunits'));

set(gcf,'paperposition',get(gcf,'position')*k);

saveas(gcf,'test.tif','tiff');

1、print 最常用

可作为日常绘图的首选。对格式,分辨率等各项指标做非常细致的定义,适合直接出图。

2、saveas,偶尔用

虽然说保存的图像都是默认大小,无法更改,但关键是可以保存fig图像

saveas可以保存matlab自认的fig格式的图像,也就是说,对于将来有可能需要细致修改以方便发表论文的图像,保存为fig更适合。毕竟,有时候各期刊杂志对图像命名及色彩等要求不一,甚至我们绘图有时也会有这样那样的疏忽,而有的图像也不是一下就可以做出来的,保存fig图像用来最后细修很有意义。

saveas(h,'filename','format')

如果只有一幅图,handle设为gcf;如果有多副,handle需单独设置

例如:

saveas(gcf, 'D:datadif_modeloutput', 'fig')

saveas(gcf, 'D:datadif_modeloutput', 'bmp')

3、imwrite :不常用。

与getframe 结合使用,适合于保存截图,当机器运行速度变慢时,批量成图可能会有错误。他的优点在于可以为下一步做movie或gif动图做准备

批量制图时常用命令:

mkdir,生成目录

filename = ['imagefigure', sprintf('d',nn)]

matlab

保存画的图像时背景会自动就白色,怎么才能保存原来的颜色呢?其实可用print,不过先要改变图形的'inverthardcopy'属性

例如:

x=0:.2:2*pi;

plot(x,sin(x));

print d:b1.bmp -dbmp

set(gcf,'inverthardcopy','off')

print d:b2.bmp -dbmp

========================================================

print的三个参数:

(1)图形句柄,如果图形窗口标题栏是“Figure

3”,则句柄就是3.(2)单引号字符串,指定存储格式。

用gcf可以获取当前窗口句柄。

png格式:'-dpng'

jpeg: '-djpeg',

tiff: '-dtiff'

bmp: '-dbitmap'

(3)文件名。

详细用法请 help print

例:

>>

x=-pi:2*pi/300:pi;

>> y=sin(x);

>> plot(x,y);

>>

print(gcf,'-dpng','abc.png') %

保存为png格式的图片。 gcf表示获取的是当前图形。

>>

figure(2) % 新建一个句柄为2的图形窗口。

>>

plot(x,cos(x)); % 在句柄为2的图形窗口上画图。

>> grid

>> print(2,'-djpeg','C:abc.jpeg');

%将句柄为2的图形保存为jpeg/jpg格式的图片,文件名为'C:abc.jpeg'。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39871562/article/details/115826144

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签