python使用h5py读取mat文件数据,并保存图像
1 安装h5py
sudo apt-get install libhdf5-dev sudo pip install h5py
假设你已经安装好python和numpy模块
2 读取mat文件数据
import numpy as np
import h5py
f = h5py.File('data.mat')
data = f['cell_name'][:]
cell_name是元胞数组的名称,假如有多级元胞目录,可以指定任意的元胞数组进行读取,比如
data = f['cell_name/.../指定的元胞数组'][:]
3 保存图像
img = images[i,...].transpose((2, 1, 0))
file = 'make3d_dataset_f460/images/'+str(i+1)+'.jpg'
img = img*255
img = img.astype('uint8')
cv2.imwrite(file, img)
# pyplot.imsave(file, img)
整个代码流程:
import cv2
import numpy as np
import h5py
from matplotlib import pyplot
height = 460
width = 345
def extract_data():
with h5py.File('make3d_dataset_f460.mat','r') as f:
images = f['make3d_dataset_fchange/images'][:]
image_num = len(images)
for i in range(image_num):
img = images[i,...].transpose((2, 1, 0))
file = 'make3d_dataset_f460/images/'+str(i+1)+'.jpg'
img = img*255
img = img.astype('uint8')
cv2.imwrite(file, img)
# pyplot.imsave(file, img)
def extract_labels():
with h5py.File('make3d_dataset_f460.mat','r') as f:
depths = f['make3d_dataset_fchange/depths'][:]
depth_num = len(depths)
for i in range(depth_num):
img = depths[i,...].transpose((1, 0))
file = 'make3d_dataset_f460/depths/'+str(i+1)+'.jpg'
depth = img
depth = depth.astype('uint8')
cv2.imwrite(file, depth)
# pyplot.imsave(file, img)
def main(argv=None):
# Input and groundtruth producer
extract_data()
extract_labels()
print("Training data is converted into images!")
if __name__ == '__main__':
main()
python使用h5py读取mat文件数据,并保存图像的更多相关文章
- python读取mat文件
一.mat文件 mat数据格式是Matlab的数据存储的标准格式.在Matlab中主要使用load()函数导入一个mat文件,使用save()函数保存一个mat文件.对于文件 load('data.m ...
- python中读取mat文件
mat数据格式是Matlab的数据存储的标准格式 在python中可以使用scipy.io中的函数loadmat()读取mat文件. import scipy.io as scio path = 'e ...
- python 读取.mat文件
导入所需包 from scipy.io import loadmat 读取.mat文件 随便从下面文件里读取一个: m = loadmat('H_BETA.mat') # 读出来的 m 是一个dict ...
- Java读取mat文件
概述 使用ujmp中的jmatio模块读取.mat文件到java程序中. 其实,ujmp主要是在模块core中实现了矩阵运算,其余模块都是复用了已有的开源库.模块jmatio是复用了已有的JMatIo ...
- 深入学习python解析并读取PDF文件内容的方法
这篇文章主要学习了python解析并读取PDF文件内容的方法,包括对学习库的应用,python2.7和python3.6中python解析PDF文件内容库的更新,包括对pdfminer库的详细解释和应 ...
- 上传读取Excel文件数据
/// <summary> /// 上传读取Excel文件数据 /// 来自http://www.cnblogs.com/cielwater /// </summary> // ...
- Unity 用C#脚本读取JSON文件数据
读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...
- spring 框架的xml文件如何读取properties文件数据
spring 框架的xml文件如何读取properties文件数据 第一步:在spring配置文件中 注意:value可以多配置几个properties文件 <bean id="pro ...
- Android - 读取JSON文件数据
Android读取JSON文件数据 JSON - JavaScript Object Notation 是一种存储和交换文本信息的语法. JSON对象在花括号中书写.用逗号来分隔值. JSON数组在方 ...
随机推荐
- 几种常用hash算法及原理
计算理论中,没有Hash函数的说法,只有单向函数的说法.所谓的单向函数,是一个复杂的定义,大家可以去看计算理论或者密码学方面的数据.用“人 类”的语言描述单向函数就是:如果某个函数在给定输入的时候,很 ...
- Spring之定时器(QuartzJobBean)的实现
需求:做个分配任务的功能模块,在任务截止前的十五分钟进行提醒(发送邮件.短信.系统提醒).每隔五分钟提醒一次,直到任务完成! 想法:刚开始是想着是不是可以做个监听器,监听截止时间.当时间到了开始进 ...
- display显示方式
元素的diplay显示方式有多种,隐藏.块级.内联.内联-块级. 1.display:none 隐藏 2.display:block; 表示块级元素. 块级元素会自动在前面和后面加上换行,并且在其 ...
- 关于npm run build 报错解决方案
# 特定的错误 ERROR in statics/mobile/js/vendor.cef13a0e680a5bc0d8b3.js from UglifyJsUnexpected token: pun ...
- docker管理工具
Portainer是Docker的图形化管理工具,提供状态显示面板.应用模板快速部署.容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作).事件日志显示.容器控制台操作.Swarm集群和服 ...
- centos6.8下weblogic12c静默安装
环境: centos6.8 无桌面环境 jdk1.7.0_25 关闭iptables.selinux 安装前准备: 1.新建weblogic用户,设置weblogic密码 useradd weblog ...
- Junit4 java.lang.Exception: No runnable methods
出现如下错误: java.lang.Exception: No runnable methods at org.junit.runners.BlockJUnit4ClassRunner.validat ...
- 使用Docker搭建GitLab
使用docker-compose快速启动GitLab.(当然前提是你先安装docker-compose,安装方式见博客:http://blog.csdn.net/yulei_qq/article/de ...
- python复杂网络库networkx:绘图draw
http://blog.csdn.net/pipisorry/article/details/54291831 networkx使用matplotlib绘制函数 draw(G[, pos, ax, h ...
- Bootstrap3 代码-变量
通过 <var> 标签标记变量. y = mx + b <var>y</var> = <var>m</var><var>x< ...