.mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
主博客:https://blog.csdn.net/Gou_Hailong/article/details/106092705
更新时间:2020/6/19
所需软件:MATLAB
1. mat文件
在网上下载的好多代码使用的样例数据都是.mat 文件,刚开始接触的时候,一脸懵逼,不知道咋打开。双击不行,记事本打开变成乱码。后来经过查阅资料,现在介绍一下如何玩转 .mat 文件。
百度百科这样写道:mat文件是matlab的数据存储的标准格式。mat文件是标准的二进制文件,还可以ASCII码形式保存和加载,在MATLAB中打开显示类似于单行EXCEL表格。
几个相关函数
load('filename','X','Y','Z') //加载filename文件中的X Y Z变量到工作区间中
save('filename','-struct','s') //保存结构体s 到filename中
使用示例:
1.加载
/*第一个参数是文件路径,后面几个是矩阵名字,
矩阵个数可以少于文件中包含的矩阵个数,
但是不可以超过文件中包含的矩阵个数*/
//矩阵名字必须是文件中包含矩阵的名字,
//如果不满足上述要求,会警告,但是还可以加载可以加载的矩阵
load('C:\Users\Lenovo 110\Desktop\Clustering-master\data\toy_clustering.mat','r1','r2','r3')
//当不知道文件中有什么矩阵时,可直接加载
load('C:\Users\Lenovo 110\Desktop\Clustering-master\data\toy_clustering.mat')
两行代码效果相同如下:
加载之后可以双击打开,就像excle 一样可以进行编辑。
2.存储
//第一个参数是文件路径,后面的参数矩阵名字,类似于load
//当只有第一个参数的时候,会把工作空间所有的矩阵都存在一个文件中
save('C:\Users\Lenovo 110\Desktop\Clustering-master\data\mydata.mat','r2','r3')
还有一种,交互式的存储方法:
就是选中矩阵,然后右键 save as...
OK!更多MATLAB 使用详见主博客:
https://blog.csdn.net/Gou_Hailong/article/details/106092705
2. 矩阵变图像
今天(2020/6/19)从洋洋那里学到了一招:矩阵变图像。
高手话不多,直接上干活:
1.创建一个三维的矩阵
a=zeros(1,20);
a(:)=1;
b=zeros(1,20);
X1=[a;b;b];
X2=[b;a;b];
X3=[b;b;a];
X=cat(3,X1,X2,X3)
2.化腐朽为神奇的一步:
imshow(X)
3.结果:
小结:
X为一个三维的矩阵,可以看成由三个小平面叠加而成,三个小平面对应三个通道:RGB;三个通道取值范围都是[0,1]。imshow(X)
就将这个图像显示出来啦。
3. 一个有用的函数
% matrix2image.m
%将一幅图像灰度张成 0-1 并合成一个matlab 直接可显图像
function [output] = matrix2image(input)
min_Grey=min(min(input));
max_Grey=max(max(input));
Grey_span=max_Grey-min_Grey;
image=(input-min_Grey)/Grey_span.*1;
output=cat(3,image,image,image);
end
实例:
Y=matrix2image(X);
imshow(Y);