当前位置: 首页 > news >正文

.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);

相关文章:

  • Windows PC HYSPLIT Install
  • C# 窗体控件简介 ∈ C# 编程笔记
  • C# 求取圆心/球心坐标 ∈ C# 编程笔记
  • C# DrawArc(画弧)
  • 模式识别 这些干货你都 get 了吗?
  • 用MATLAB 读写各种文件 ∈ Matlab 使用笔记
  • Matlab 求矩阵均值和协方差矩阵 ∈ Matlab 使用笔记
  • 常用遥感卫星数据汇总
  • 遥感图像分类领域的混淆矩阵
  • 模式识别+Matlab 最大似然分类(MLC)【贝叶斯(Bayes)分类法】
  • “北斗”知多少?
  • 2坐标格式转换 ∈ C# 编程笔记
  • 1坐标格式转换 ∈ C# 编程笔记
  • 2坐标转换 四参数/七参数/正形变换 ∈ C# 编程笔记
  • 闭合附和导线近似平差 ∈ C# 编程笔记
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • Android组件 - 收藏集 - 掘金
  • CSS实用技巧
  • Docker容器管理
  • HashMap ConcurrentHashMap
  • java中具有继承关系的类及其对象初始化顺序
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Spark RDD学习: aggregate函数
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • 复习Javascript专题(四):js中的深浅拷贝
  • 构建二叉树进行数值数组的去重及优化
  • 浏览器缓存机制分析
  • 前端工程化(Gulp、Webpack)-webpack
  • 物联网链路协议
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 自定义函数
  • const的用法,特别是用在函数前面与后面的区别
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​io --- 处理流的核心工具​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #Ubuntu(修改root信息)
  • $GOPATH/go.mod exists but should not goland
  • (function(){})()的分步解析
  • (蓝桥杯每日一题)love
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (五)c52学习之旅-静态数码管
  • (一)SpringBoot3---尚硅谷总结
  • (转)scrum常见工具列表
  • (转)大型网站架构演变和知识体系
  • (转)关于多人操作数据的处理策略
  • .Family_物联网
  • .md即markdown文件的基本常用编写语法
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Remoting学习笔记(三)信道
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 中创建支持集合初始化器的类型
  • .net对接阿里云CSB服务
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面