python读取mat文件并画图_[宜配屋]听图阁
先给大家介绍下python读取并写入mat文件的方法
用matlab生成一个示例mat文件:
clear;clc
matrix1 = magic(5);
matrix2 = magic(6);
save matData.mat
用python3读取并写入mat文件:
import scipy.io
data = scipy.io.loadmat('matData.mat') # 读取mat文件
# print(data.keys()) # 查看mat文件中的所有变量
print(data['matrix1'])
print(data['matrix2'])
matrix1 = data['matrix1']
matrix2 = data['matrix2']
print(matrix1)
print(matrix2)
scipy.io.savemat('matData2.mat',{'matrix1':matrix1, 'matrix2':matrix2}) # 写入mat文件
ps:python读取matlab写的mat文件问题以及解决办法
最近项目中需要在python下读取mat文件,遇到以下问题:
1、当数据集大小大于2GB的时候,Python就不能正确读取mat文件了。同时matlab也不能保存相应的文件,只能以 -V7.3的形式保存。具体如下:
#利用h5py读取-v7.3的.mat文件:
import h5py
dict_data = h5py.File('***.mat') #在Python中读取的.mat为字典格式
array_data = dict_data['array_name']
#其中的array_name为在保存为.mat之前的真正变量名,如 MATLAB命令:save ***.mat array_name -v7.3
2、当文件以h5py写入时,最终会出现python读取到的和matlab写入的数据维度不相同的问题。比如写入的是(1000,128,128,3)但是python读取到的维度就是(128,128,3,1000)。所以需要对python读取到的文件进行转置的处理。具体如下:
data_train = h5py.File('train_order6.mat','r')
input_train = data_train['z_wrap']
input_train = np.transpose(input_train,(0,2,1)) #The shape is changed to be consistent with tensoflow [25000,128,128]->[25000,128,128]
input_train = np.expand_dims(input_train,axis=3) #[25000,128,128]->[25000,128,128,1]
label_train = data_train['z_allRegion']
label_train = np.transpose(label_train,(0,3,2,1))#The shape is changed to be consistent with tensoflow [25000,11,128,128]->[25000,128,128,11]
一般都是第一维度和最后一个维度错误,所以都是(0,3,2,1)的形式,不过为了确保正确还是建议在读取的时候显示一下图片。
3、可以在用matlab存储时,提前permute一下,python正常读取,或者matlab正常存储,python读取后transpose一下。步骤2就是matlab正常存储,python读取后transpose.
总结
以上所述是小编给大家介绍的python读取并写入mat文件的方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
python读取mat文件并画图_[宜配屋]听图阁相关推荐
- python和c++情侣网名_[宜配屋]听图阁
混编的含义有两种, 一种是在python里面写C 一种是C里面写python 本文主要是进行简化,方便使用. ############################################# ...
- python卸载后安装不上_[宜配屋]听图阁
前言 本文主要给大家介绍了关于python卸载再安装遇到问题的解决方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 解决方法 1.起因 之所以要卸载安装是因为我把python安装路 ...
- python turtle画房子详细解释_[宜配屋]听图阁
我就废话不多说了,直接上代码吧! import turtle t=turtle.Turtle() turtle.Turtle().screen.delay(0) tleft=turtle.Turtle ...
- python的pygame库使用方法_[宜配屋]听图阁
使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截失败的一方输掉游戏,规则类似于简化版的乒乓球. 因为是第一次用pygam ...
- python 小游戏500行以内_[宜配屋]听图阁
在讲述有关list的时候,提到做游戏的事情,后来这个事情一直没有接续.不是忘记了,是在想在哪个阶段做最合适.经过一段时间学习,看官已经不是纯粹小白了,已经属于python初级者了.现在就是开始做那个游 ...
- python文件传输模块_[宜配屋]听图阁 - python 使用poster模块进行http方式的文件传输到服务器的方法...
这几天帮内部人员做一个文件传输的小工具,要用http的方式,在用django搭建了个小框架之后,如何进行传输,特别是大文件的传输,成为主要问题.经过查资料,最后选择了通过poster这个模块来进行文件 ...
- python开发一个彩票系统_[宜配屋]听图阁
本文为大家分享了python实现彩票系统的具体代码,供大家参考,具体内容如下 功能:1.注册 2.登录 3.充钱 4.提现 5.下注 6.开奖 7.退出 简述:彩民需要用身份证号码开户注 ...
- python做excel表格代码_[宜配屋]听图阁
安装两个库:pip install xlrd.pip install xlwt 1.python读excel--xlrd 2.python写excel--xlwt 1.读excel数据,包括日期等数据 ...
- python调用百度地图画轨迹图_[宜配屋]听图阁
如题,先上效果图: 主要分为两大步骤 使用python语句,通过百度地图API,对已知的地名抓取经纬度 使用百度地图API官网的html例程,修改数据部分,实现呈现效果 一.使用python语句,通过 ...
最新文章
- 100 行代码透彻解析 RPC 原理
- Laravel 传递数据到视图
- boost::to_address用法实例
- 求二进制数中1的个数
- java 知识积累_java学习知识积累-spring常用注解
- 2011对于运维的思考
- php windows环境 安装 Apache-apollo + phpMQTT 实现发送 MQTT
- java 向DB2插入数据
- 懒人也能变美,AR试妆会让你剁手到停不下来吗?
- 请认真使用没有后悔药的parted分区工具
- 【OpenCV 例程 300 篇】101. 自适应中值滤波器
- 检测华为网络设备的常用命令
- EM(expection maxium)算法
- 计算机网络13--网络应用的体系结构
- unity android 不锁屏,Unity 实现Android不锁屏
- 360Vulcan团队再获微软致谢 协助修复Edge及IE漏洞
- 计算机二级office高级应用和上机指导,2019年9月全国计算机二级教程:MS Office高级应用上机指导...
- C#(VS2019)窗体应用程序之第一个窗口
- 微信小程序时间格式转换
- java.util.ServiceConfigurationError: org.apache.juli.logging.Log: Provider org.eclipse.jetty.apache.