MATLAB(4)——图片保存方法汇总及常用指令

时间:2022-01-12 15:55:04

作者:桂。

时间:2017-03-03  19:30:03

链接:http://www.cnblogs.com/xingshansi/p/6498318.html


前言

本文为MATLAB系列第四篇。

主要总结MATLAB图片保存的基本方法。主要为自己的学习总结,内容多有借鉴他人,在最后附上链接。

一、MATLAB图片保存方法

  A-自带的save as指令/copy figure指令

  • 在弹出的figure中,file—>save as ,选择保存的路径以及格式(可以保存为fig,eps,jpeg,gif,png,bmp等格式),即可完成保存。
  • 在弹出的figure中,edit—>copy figure,即可实现图片复制,在对应处粘贴即可。

  B-imwrite指令

该指令仅仅针对图片格式的数据,如当前路径有一张“lena.jpg”的彩色图片,希望读取转成灰度图片并保存,对应代码:

imgRgb = imread('lena.jpg');
imgGray = rgb2gray(imgRgb);
imwrite(imgGray,'./path/lena_gray.jpg');%支持jpg、bmp、png、tif等格式  

  C-saveas指令

  Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进行保存。saveas的格式为:saveas(gca, filename, fileformat),其中的三个参数:

  • gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。
  • filename:单引号字符串,指定文件名
  • fileformat:单引号字符串,指定存储格式

例子:

saveas(gcf,'save.jpg');  %保存当前窗口的图像
saveas(2,'save.jpg'); %保存Figure 2窗口的图像

  D-print指令

print函数操作相当于虚拟打印机,使用plot函数后紧接着用print函数来保存图像。print的格式为: print(figure_handle,fileformat,filename),其中的三个参数:

  • figure_handle:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄
  • fileformat:单引号字符串,指定存储格式:
    • png格式: '-dpng'
    • jpeg格式:  '-djpeg',
    • tiff格式:  '-dtiff'
    • bmp格式:  '-dbitmap'
    • gif格式:'-dgif'
    • emf无损格式:'-dmeta'
  • filename:文件名

例1:显示图像并保存

x=-pi:2*pi/1000:pi;
y=cos(x);
plot(x,y);print(gcf,'-djpeg','abc.jpg') %绘制图像并保存为jpg格式

例2:不显示图像而直接保存

x=-pi:2*pi/1000:pi;
set(figure(1),'visible','off'); %此句设置为:不显示
plot(x,sin(x)); print(gcf,'-dpng','abc.png') %不显示图像直接保存为png格式

二、常用指令

  • 排列组合:perms/nchoosek
  • 判断有无0元素:all(A)
  • 正弦余弦:弧度/角度,sin,sind,cos,cosd,asin,asind......
  • 矩阵延展:repmat/kron
  • 计算非零元素个数/按列顺序找出矩阵非零元素:nnz
  • 连乘:prod
  • 2的整数幂:pow2(nextpow2(L));
  • 转置:A'  /  rot90(A),例如vandermonde矩阵:Matrxx=rot90(vander(xx));
  • 距离计算:如欧式距离-pdist(X,'euclidean')
  • 排序:矩阵sortrows 向量:sort
  • 累加/累积:cumsum(A) //cumprod:累积
  • 查找众数:mode(A)
  • 查看编程性能: coder.screener('main.m')