一、h5文件解释:

H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件。由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据。

二、h5文件的作用:

H5将文件结构简化成两个主要的对象类型:

数据集dataset,就是同一类型数据的多维数组

group,是一种容器结构,可以包含数据集和其他组。

图示一:

图示二:

三、h5文件的使用:

1.写入数据

import h5py"""create_dataset : 新建 datasetcreate_group : 新建 group
"""x = np.arange(100)with h5py.File('test.h5','w') as f:f.create_dataset('test_numpy',data=x)subgroup = f.create_group('subgroup')subgroup.create_dataset('test_numpy',data=x)subsub = subgroup.create_group('subsub')subsub.create_dataset('test_numpy',data=x)

2.读取数据

"""keys() : 获取本文件夹下所有的文件及文件夹的名字f['key_name'] : 获取对应的对象
"""
def read_data(filename):with h5py.File(filename,'r') as f:def print_name(name):print(name)f.visit(print_name)print('---------------------------------------')subgroup = f['subgroup']  print(subgroup.keys())print('---------------------------------------')dset = f['test_numpy']print(dset)print(dset.name)print(dset.shape)print(dset.dtype)print(dset[:])print('---------------------------------------')read_data('test.h5')

3.图片转h5

 from PIL import Imageimport os​
##改变图片大小,修改图片名字 ​def get_smaller(path_in, name, path=None, width=64, length=64):''' 检查文件夹是否建立,并建立文件夹 '''if path == None:tar = os.path.exists(os.getcwd() + "\\" + name)if not tar:os.mkdir(os.getcwd() + "\\" + name)im_path = os.getcwd() + "\\" + name + "\\"else:tar = os.path.exists(path + "\\" + name)if not tar:os.mkdir(path + "\\" + name)im_path = path + "\\" + name + "\\"​i = 1list_image = os.listdir(path_in)for item in list_image:'''检查是否有图片'''tar = os.path.exists(im_path+str(i)+'.jpg')if not tar:image = Image.open(path_in+'\\'+item)smaller = image.resize((width, length), Image.ANTIALIAS)'''注意这里如果不加转换,很可能会有报错'''if not smaller.mode == "RGB":smaller = smaller.convert('RGB')smaller.save(im_path+str(i)+'.jpg')i += 1get_smaller("E:\\桌面\\te\\001", "6")

4.h5转图片

 import cv2import h5pyimport numpy as npfrom scipy.misc import imsavefrom skimage import transform​​hr_dataset = h5py.File('test_data.h5')['images2']  //h5文件路径# label = h5py.File('data-train.h5')['train_set_1_tip']lenght=len(hr_dataset)for i in range(len(hr_dataset)):y = hr_dataset[i]# x = label[i]cv2.imwrite('image_test/%s.png'%i, y)  //写成png格式# cv2.imwrite(str(i)+"0.png", x)

参考文章:
1.h5文件格式详解及h5文件与图片文件之间的相互转换(python实现)
2.h5py 必知–String存储

h5文件格式数据集制作相关推荐

  1. ​h5文件格式详解及h5文件与图片文件之间的相互转换(python实现)

    背景:h5文件详解 H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件.由美国超级计算中心与应用中心研发的文件 ...

  2. 【CV\utils】计算机视觉:视频图像(清洗、裁剪、人脸区域抓取等)数据预处理数据集制作 | 代码合集

    [start:2023.06.15] 文章目录 1. FFmpeg 1.1. 下载 1.2. 万能观影 1.3. 拷贝视频 1.4. 裁剪视频 1.5. 横向拼接视频 2. OpenCV 2.1. 安 ...

  3. matlab 数据集制作,机器学习数据集制作与划分MATLAB实现

    .mat数据集制作 若整个数据集是一个.mat文件且最后一列数据时标签,则单独将决策变量和标签划分开,一个为ins,另一个为lab. 相关文章 .mat数据集说明 数据集名称GLIOMA GIOMA包 ...

  4. 【项目实践】基于Mask R-CNN的道路物体检测与分割(从数据集制作到视频测试)...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1.内容概要 Mask R-CNN的框架是对Faster R-CNN的扩展,与BBox识别并行的增加一 ...

  5. 图像分割 | FCN数据集制作的全流程(图像标注)

    图像分割 | FCN数据集制作的全流程(图像标注) 一 全卷积神经网络 文章所有代码已上传至github,觉得好用就给个star吧,谢谢 https://github.com/315386775/FC ...

  6. python制作训练集_利用Tensorflow简单实现VGGNet,从数据集制作到训练完成测试

    VGGNet_TF 利用Tensorflow简单实现VGGNet,从数据集制作到训练完成测试 参考:<Tensorflow实战><Tensorflow 实战Google深度学习框架& ...

  7. 深度学习数据集制作工作_创建我的第一个深度学习+数据科学工作站

    深度学习数据集制作工作 My Home Setup 我的家庭设置 Creating my workstation has been a dream for me, if nothing else. 创 ...

  8. 比赛中学习(2)-voc数据集制作中将.txt文件变为.xml文件

    描述 和voc数据集制作有一点不同的是,因为参加的比赛中坐标给了4个,也就是说目标的形状可能是是平行四边形.所以和voc数据集有点不同啊.放出一张.txt文件的形式 最后的结果大致是这样的(和上面的图 ...

  9. 从图片到dataframe——语义分割数据集制作全流程

    分享一下从原始图片,到标记图片,再到转换为python里的数据结构语义分割数据集制作全流程. 安装labelme labelme 是一个图形界面的图像标注软件,可以很方便地划分出多边形边界. 下面在w ...

最新文章

  1. 『ACM-数据结构』信息竞赛进阶指南--线段树
  2. linux 的 df命令:显示磁盘分区上的可用空间
  3. Netty学习总结(5)——Netty之TCP粘包/拆包问题的解决之道
  4. RHEL 7.0系统安装配置图解教程
  5. 西门子s7-200解密软件下载_高邮哪里有西门子三菱PLC编程学习班?多久能学会?...
  6. 龙芯 python_在UOS20-龙芯(MIPS64EL)上安装 opencv-python
  7. 医患诚信系统——软件项目的风险
  8. 讯飞星火 VS 文心一言:谁是中文大语言模型的TOP1?
  9. JAVA 繁体 转 简体 简体转翻译 繁体简体互转
  10. wifi 小程序 透传_微信小程序实现的一键连接wifi功能示例
  11. 七年级计算机课计划,初中信息技术教学计划范文(通用5篇)
  12. 【PC工具】Samsung Magician三星固态硬盘优化维护工具升级,固态硬盘选型
  13. 在Linux服务器root用户依然遇到删除不掉得文件如何办 ,宝塔用命令无法删除文件得解决问题,使用rm -rf删除命令提示Operation not permitted 如何解决
  14. html鼠标移除的效果,css实现鼠标移入移出动态效果
  15. 安居客冲刺上市:姚劲波全力支持,距离贝壳找房还差6个我爱我家
  16. 计算机网络摩尔定律芯片运算速度,在计算机网络领域的“摩尔定律”,芯片的运算速度每48个月翻一番...
  17. sym8 matlab,【Matlab学习手记】sym8小波滤波
  18. 从网上找的 visual studio 的各个版本下载地址,vs2010/vs2012/vs2013带注册码
  19. 决策树-离散连续值如何构造决策树
  20. IPTV系统工业园区职工宿舍电视娱乐休闲方案

热门文章

  1. 高考作弊,5G背锅,还是屏蔽器背锅
  2. 小心被举报!考研复试后不要分享考试内容!
  3. 淘宝API upload_img - 上传图片到淘宝
  4. android中point pt1,Android dip,px,pt,sp 的区别详解
  5. SwiftUI学习笔记之@State, @Binding
  6. JPBC库实现基于身份的签名体制
  7. 程序员,我要为了这个名号而疯狂
  8. net start命令发生系统错误5和错误1058的解决方法
  9. python设置颜色_使用python改变颜色的色调
  10. eclipse neno中tomcat配置servers locations地址的文件