zoukankan      html  css  js  c++  java
  • MATLAB导出高清晰图片https://www.cnblogs.com/xkfz007/articles/6390642.html

    MATLAB导出高清晰图片

    https://www.cnblogs.com/xkfz007/articles/6390642.html

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

     使用print命令,如下: 

    用于LaTeX的话,可以使用eps图片:print -deps fig1

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

    MATLAB图片保存方法

    bar(randn(10,1))
    print(gcf,'-r300','-dpdf','example1.pdf');
    print(gcf,'-r300','-djpeg','example2.jpeg');
     

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

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

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

    1. I=getimage(gcf); % 获取坐标系中的图像文件数据
    2. imwrite(I,'myphoto.jpg')%保存图像为文件

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

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

    1. 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动图做准备

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

    1. x=0:.2:2*pi;
    2. plot(x,sin(x));
    3. print d:1.bmp -dbmp
    4. set(gcf,'inverthardcopy','off')
    5. print d:2.bmp -dbmp
  • 相关阅读:
    SWT界面刷新
    如何查看SWT源代码和帮助文档
    五分钟带你搞懂子网掩码
    python操作excel实用脚本
    Maven多镜像配置
    FrameWork数据权限浅析4之基于多维度配置表实现行级数据安全
    FrameWork数据权限浅析3之基于角色的配置表实现行级数据安全
    FrameWork数据权限浅析2之基于用户的配置表实现行级数据安全
    FrameWork数据权限浅析1之基于手工修改模型实现行级数据安全
    Framework元数据向导错误之BMT-MD-6001与BMT-IMP-0002
  • 原文地址:https://www.cnblogs.com/jiangkejie/p/10022976.html
Copyright © 2011-2022 走看看