.h5图像文件(数据集)的读取并存储 工具贴(二) 您所在的位置:网站首页 可视化文件查看工具 .h5图像文件(数据集)的读取并存储 工具贴(二)

.h5图像文件(数据集)的读取并存储 工具贴(二)

2023-03-22 13:12| 来源: 网络整理| 查看: 265

概述

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

h5文件为一个存放数据的容器,包括group名称和datasets,group名称为key,datasets为value,文件结构如下图:

首先读取文件的group值,也即key值,根据key值加载datasets,datasets的文件可为图像、文本、pdf 或其他数据形式。

import h5py as h5 ## 获取文件的group(key)值 file = h5.File(file_path, "r") groups = [key for key in file.keys()] print(groups) 代码 # 加载.h5图片数据 ## import import os from PIL import Image import numpy as np import h5py as h5 ## functions def save_image(file, groups): ''' 将.h5/group下的array转换为灰度图像并存储 :param group: .h5文件包中的组名(key值) :param save_path: 图像存储的路径 :return: None ''' for group in groups: print(group + " 组:") image_path = input("请输入第一组图片要存储的路径(不存储输入N):") counter = 0 for i in file[group][:]: if image_path == "N": continue else: makedir(image_path) save_path = image_path + str(counter) + ".png" image = np.array(i) image *= 255 # 变换为0-255的灰度值 image = Image.fromarray(image) image = image.convert('L') # 灰度为L,彩色为RGB’ image.save(save_path) print(counter + 1) counter += 1 print("done!") def makedir(dir_path): ''' 创建文件夹 :param dir_path: 文件夹路径 :return: None ''' isExists = os.path.exists(dir_path) if not isExists: # 判断如果文件不存在,则创建 os.makedirs(dir_path) def load_h5(file_path): ''' 加载.h5数据 :param file_path: .h5文件路径 :return: groups, file ''' file = h5.File(file_path, "r") groups = [key for key in file.keys()] print("该文件共有以下几组:", groups) return groups, file ## main if __name__ == "__main__": h5_file = input("输入.h5文件路径:") groups, file = load_h5(h5_file) save_image(file, groups) 操作说明

输入.h5文件路径

根据提示输入每组的存储路径 (注意路径最后要加 \ )

无需创建文件夹,输入路径会自动创建

提取的图片如下



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有