作者:桂。
时间: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\')