python - 将 hdf5 转换为按文件夹组织的 raw
问题描述
我使用脚本使图像与图集匹配。此脚本输入是.raw
组织在文件夹中的图像,例如:
imageFolder
-- folder1
---- image1.raw
---- image2.raw
-- folder2
---- image1.raw
---- image2.raw
我有一张图片,hdf5
我想将它转换成之前介绍的多个文件。这个组织看起来像hdf5
,不是吗?
我想知道是否可以在 Python 中执行此操作。如果是,我应该使用哪个包?我看了看,h5py
但没有找到导出为 raw 并保持层次结构的函数。
解决方案
飞腾,你可以使用.visititems()
递归调用函数(def)来导出数据。您可以查询对象类型和名称。组名将是您的文件夹名称,数据集名称将是您的文件名。附件是一个非常简单的例子,展示了如何使用.visititems()
. 如果您不熟悉 h5py 和/或 HDF5 结构,它有一些打印语句(已注释掉)输出更多信息。这应该让你开始。
import h5py
def print_grp_name(grp_name, object):
# print ('object = ' , object)
# print ('Group =', object.name)
try:
n_subgroups = len(object.keys())
#print ('Object is a Group')
except:
n_subgroups = 0
#print ('Object is a Dataset')
dataset_list.append (object.name)
# print ('# of subgroups = ', n_subgroups )
if __name__ == '__main__' :
with h5py.File(your-filename-here,'r') as h5f:
print ('visting group = ', h5f)
dataset_list = []
h5f.visititems(print_grp_name)
print (dataset_list)
推荐阅读
- jquery - 更新特定记录时,它仅更新第一条记录
- c++ - 如何向下转换子类中的数据?
- tkinter - 我想在框架 f1b 中添加输入框,然后将其放置在画布 c1 上(抱歉无法在 postb 下嵌入图像
- r - ggplot2,geom_point 距离
- html - 在css3中对角对齐文本
- android - 检查 API 请求正文
- azure - 我可以为 Azure 容器实例 (ACI) 分配保留 IP 吗?
- python - 尝试创建同一类的多个实例时无法腌制 _tkinter.tkapp 对象错误
- php - Symfony 3.4 出现错误“2006 MySQL 服务器已消失”
- r - R:警告消息:包“ade4”是用 R 3.4.4 版本编译的