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