python保存mat数据,python能读取mat格式吗
本文主要介绍了Python处理mat文件的三种方式的总结,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。
00-1010三种处理mat文件的方法scipyh 5 pymat 73 mat 4 pyython操作。mat文件python阅读。mat格式mat to Picture
目录
读书的时候用matlab处理数据,但是毕业后当了程序员,matlab就从自己的电脑上消失了(安装包太大,而且需要许可证,启动慢,不符合程序员的需求)。
但是最近,公司仿真数据存储在matlab中。mat格式,需要读出进行处理。然后找python相关的库。没有什么是python做不到的!
Mat文件在matlab中存储变量数据,所以python读取的mat数据以k-v形式存储在字典中,key是变量名,value是数据内容:
处理mat文件的三种方式
首先想到的是scipy tool。
将scipy.io作为scio导入
data=scio.loadmat(example.mat )
数据[丢失]
然而,当阅读一些。mat文件,将抛出异常(7.3版):
引发NotImplementedError(请使用matlab v7.3文件的HDF阅读器)NotImplementedError:请使用matlab v7.3文件的HDF阅读器
scipy
遇到以上问题,有必要采用h5py库:
导入h5py
data=h5py.loadmat(example.mat )
数据[丢失][:]
但它是以文件格式读出的,调试时很难知道是什么键。可以按key取数据,但前提是需要知道key值,不方便独立调试。
h5py
今天的主角,个人认为mat73兼容性最好,几乎所有的mat文件都可以成功读取,读取结果是k-v的字典,方便后续处理:
进口mat73
data=mat73.loadmat(path)
数据[丢失]
mat73
不推荐,兼容性差,可能没有后续更新。
总结:总的来说,我推荐使用mat73,兼容各种版本的mat文件。其次,可以清楚地看到mat文件中存储的数据的键值,便于后续提取。
mat4py
在win10中,打开
ITC_VD数据集格式,
结果在训练集ITC_VD_Training_Testing_set中,所有标签文件都是快捷方式,
选中一个文件,右键 属性,看到:
Microsoft Access表快捷方式(。mat)
查了半天发现是matlab格式的。垫子,
python操作.mat文件
从scipy.io导入loadmat
m=loadmat(r e : \ data \ yolov 5 _ dbb \ ITC _ VD _ Training _ Testing _ set \ Training \ GT/00064 . mat )
daaa=m.keys()
打印(daaa)
打印(m[x00064])
中的数据结构。mat文件是dict,所以值应该是key:value的形式:
上面读出的数据是ndarray类型,为了方便数据显示,我们可以把它转换成熊猫的数据帧:
进口熊猫作为pd
df=pd。数据帧(m[H_BETA])
df.head()
python读取.mat格式
导入全球
导入cv2
将numpy作为np导入
r_path=rC:\File\2021-11
files=glob.glob(r_path /*)。mat’)
从scipy.io导入loadmat
#数据矩阵对图片的作用
def MatrixToImage(数据):
#数据=数据* 255
new_im=data.astype(np.uint8)
返回新消息
对于文件:中的文件
如果文件:中的“2018”
继续
打印(文件)
m=loadmat(文件)
daaa=m.keys()
data=m[groundTruth]
打印(数据)
new_im=MatrixToImage(数据)
cv2.imshow(asdf ,new_im)
cv2.waitKey()
#打印(数据)
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。