龙空技术网

MATLAB中图片保存的五种方法(二)

云龙派 1485

前言:

而今你们对“matlabjpeg压缩算法”大约比较讲究,咱们都想要学习一些“matlabjpeg压缩算法”的相关资讯。那么小编也在网上网罗了一些关于“matlabjpeg压缩算法””的相关资讯,希望姐妹们能喜欢,同学们快快来了解一下吧!

今天主要介绍MATLAB中图片保存的五种方法中的print函数保存图片。

调用格式print(filename,formattype,formatoptions),这里只选了一种典型的调用格式,其他格式可在命令窗口中输入 help print 或 doc print命令查看。filename是你想保存图像的名字;formattype表示保存成png图像格式;formatoptions表示图片dpi。formattype - 文件格式'-djpeg' | '-dpng' | '-dtiff' | '-dpdf' | '-deps' | ...文件格式,指定为这些表中的选项之一。

位图文件

位图图像是以像素表示的图窗。生成的文件的大小取决于图窗、格式和系统分辨率。Web 浏览器和其他显示图形的应用程序广泛使用位图。但是,它们无法很好地支持透明度或缩放,而且您也无法在其他图形应用程序中修改其中的图形对象,例如线条和文本。

此表列出了支持的位图格式。

选项

位图格式

对应的文件扩展名

'-djpeg'

JPEG 24 位

.jpg

'-dpng'

PNG 24 位

.png

'-dtiff'

TIFF 24 位(压缩)

.tif

'-dtiffn'

TIFF 24 位(未压缩)

.tif

'-dmeta'

增强型图元文件(仅限 Windows)

.emf

'-dbmpmono'

BMP 单色

.bmp

'-dbmp'

BMP 24 位

.bmp

'-dbmp16m'

BMP 24 位

.bmp

'-dbmp256'

BMP 8 位(256 色,使用固定颜色图)

.bmp

'-dhdf'

HDF 24 位

.hdf

'-dpbm'

PBM(普通格式)1 位

.pbm

'-dpbmraw'

PBM(原始格式)1 位

.pbm

'-dpcxmono'

PCX 1 位

.pcx

'-dpcx24b'

PCX 24 位彩色(三个 8 位平面)

.pcx

'-dpcx256'

PCX 8 位新彩色(256 色)

.pcx

'-dpcx16'

PCX 旧彩色(EGA/VGA 16 色)

.pcx

'-dpgm'

PGM(普通格式)

.pgm

'-dpgmraw'

PGM(原始格式)

.pgm

'-dppm'

PPM(普通格式)

.ppm

'-dppmraw'

PPM(原始格式)

.ppm

向量图形文件

向量图形文件存储用于重新绘制图窗的命令。这种格式类型适合缩放,但可能导致文件较大。另外,它可能会在某些情况下产生三维排列有误的对象。某些应用程序支持对向量图形格式进行大量编辑。但是,某些应用程序不支持调整图形大小以外的编辑。通常,应尽量在 MATLAB® 内对图窗进行所有必要的更改。

如果设置图窗的 Renderer 属性,则 print 在生成输出时使用该渲染器。否则,print 会选择适当的渲染器。通常,print 在生成向量图形文件时使用 Painters 渲染器。对于某些复杂的图窗,print 会改用 OpenGL渲染器。如果它使用 OpenGL 渲染器,则向量图形文件会包含嵌入式图像,这可能会限制您可在其他应用程序中编辑该图像的程度。此外,如果 print 使用 OpenGL 渲染器生成文件,则不支持透明度。为确保 print 使用 Painters 渲染器,请将图窗的 Renderer 属性设置为 'painters' 或将 '-painters' 指定为 print 的输入参数。

此表列出了支持的向量图形格式。

选项

向量图形格式

对应的文件扩展名

'-dpdf'

整页可移植文档格式 (PDF) 颜色

.pdf

'-deps'

PostScript (EPS) 3 级黑白

.eps

'-depsc'

封装的 PostScript (EPS) 3 级彩色

.eps

'-deps2'

封装的 PostScript (EPS) 2 级黑白

.eps

'-depsc2'

封装的 PostScript (EPS) 2 级彩色

.eps

'-dmeta'

增强的图元文件(仅限 Windows®)

.emf

'-dsvg'

SVG(可伸缩向量图)

.svg

'-dps'

全页 PostScript (PS) 3 级黑白

.ps

'-dpsc'

全页 PostScript (PS) 3 级彩色

.ps

'-dps2'

全页 PostScript (PS) 2 级黑白

.ps

'-dpsc2'

全页 PostScript (PS) 2 级彩色

.ps

实例1

clc;clear all;close all% 获取图像句柄fig = figure;% 定义自变量xx = 2:0.05:8;% 计算任意设定的函数y1 = sin(x).*exp(x.*cos(x));y2 = sin(x.^2).*tan(cos(x)).*x.^2;% 用plot函数绘制x与y1,y2的关系plot(x,y1,'r.-',x,y2,'b^-');% 标注x轴,y轴xlabel('自变量x')ylabel('因变量y')% 标注因变量legend('y1','y2');% 图像名称title('自变量x与因变量y关系图');% 自定义输出文件路径和名称% pwd是获取当前运行目录filename = [pwd,'\','test'];% print(name,fhandle,DPI,format)% name — 文件(包括路径)% fhandle — 图像句柄% DPI — 图像分辨率% 若分辨率为600,则用'-r600'% format — 图像格式% 若格式为tiff,则用'-dtiff'% 对于论文图像,tiff为压缩格式% tiffn为无压缩格式。print(filename,fig,'-r600','-dtiffn');figure;bar(1:10)print('BarPlot','-dpng')figure;%使用 '-fillpage' 选项保存填满页面的图窗。bar([1 10 7 8 2 2 9 3 6])print('FillPageFigure','-dpdf','-fillpage')%创建一个图窗,其中包含用于清除坐标区的普通按钮。将该图窗保存到 JPEG 文件中而不保存普通按钮。surf(peaks)uicontrol('Style','pushbutton','String','Clear',...    'Position',[20 20 50 20],'Callback','cla');print('SurfacePlot','-djpeg','-noui')

实例2

采用“Export”对话框进行导出,这也是我比较常用的。因为通常Figure图像边界有空白,上面两种方法需要手动设置figure坐标系的属性才能让图片布满整个窗口(当然也可以用脚本),比较麻烦。而本方法中的“Export”对话框能很好的解决。当然它还有其他更强大的功能。

中文版 点击文件-点击导出设置-选中放大坐标区至充满图窗

(英文版首先Figure窗口"File"菜单,再点击“Export Setup”菜单项。弹出的Export Setup对话框中进行相应的配置,首先进行导出图片大小的设置,包括长度单位,高和宽,这里一定记得点上“Expand axis to fill figure”以便导出的图像不含空白边框。)

点击渲染,选中分辨率-默认为auto,将其改为600,同时可以点击字体和线条,设置格式和大小,最后点击应用于图窗,点击导出,选中对于的格式,可以保存多个格式包括fig格式,便于后期修改。

(英文版 再下一个“Rendering“是图片渲染设置。这里其他都可以不用管,主要是dpi需要设置,dpi越高图像越清晰,对于论文工作者而言,很多期刊是要求600dpi以上,这就已经很清楚了。)

本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。

作 者 | 郭志龙

编 辑 | 郭志龙

校 对 | 郭志龙

标签: #matlabjpeg压缩算法 #matlab压缩图片大小 #matlab如何提取fig数据 #matlab figure数据导出 #matlab figure导出图片