读取.h5文件

**背景:**尝试读取pointnet data目录下的modelnet40_ply_hdf5_2048的ply_data_test0.h5文件
**方法:**使用python 带的h5py库
H5将文件结构简化成两个主要的对象类型:
数据集( dataset ),就是同一类型数据的多维数组。
组( group ),是一种容器结构,可以包含数据集和其他组。可以类比于字典,有键(key,组成员的名称)和值(value,组成员对象本身(组或者数据集))。group中可以存放dataset或者其他的group。
代码:

import datetime
import os
import h5py
import numpy as np

# f = h5py.File('path/filename.h5','r') #
f.keys()
print([key for key in f.keys()])		# [ 'data','faceId','label','normal']
print('first, we get values of data:', f['data'][:])
print('then, we get values of faceId:', f['faceId'][:])
print('then, we get values of label:', f['label'][:])
print('then, we get values of normal:', f['normal'][:])

结果:

['data', 'faceId', 'label', 'normal']
first, we get values of data: [[[ 0.09804384 -0.16375712 -0.88815236]
  [-0.23270538  0.20258272  0.9004929 ]
  [-0.2567441  -0.25970268 -0.49264464]
  ...
  [-0.39915243  0.11317458 -0.87155205]
  [-0.39915243  0.06148027 -0.857612  ]
  [ 0.05074174  0.04413288  0.13229933]]

 [[ 0.20449115 -0.17876036 -0.26874724]
  [ 0.5294547  -0.17876036  0.4605134 ]
  [-0.8554975   0.13038772  0.38782808]
  ...
  [ 0.2670532   0.18073112  0.38040978]
  [ 0.36202607 -0.17876036  0.4798663 ]
  [ 0.6899876  -0.15274835 -0.37982458]]

 [[ 0.38357666  0.00212124  0.05954606]
  [-0.42229837  0.20936729 -0.8230786 ]
  [-0.23924135 -0.04004277 -0.15795444]
  ...
  [ 0.38357666  0.2655373   0.2687802 ]
  [ 0.37341475  0.33041206 -0.72324896]
  [-0.24751316  0.33041206 -0.7215534 ]]

 ...

 [[-0.38415328 -0.16114914 -0.6218874 ]
  [ 0.00392835 -0.02491629  0.44730824]
  [ 0.02237595 -0.6116565  -0.58407295]
  ...
  [-0.22889152 -0.02491629 -0.24840479]
  [-0.09168476 -0.1332527   0.6117723 ]
  [ 0.48451158  0.59355694  0.264553  ]]

 [[-0.4601383  -0.21205927  0.6261256 ]
  [-0.05555431 -0.21205927  0.36458415]
  [-0.58251834 -0.21205927 -0.46451336]
  ...
  [-0.5088089   0.02324454 -0.5640317 ]
  [-0.2864309  -0.21205927  0.4084229 ]
  [ 0.25568604  0.47028542  0.22113988]]

 [[ 0.35419393 -0.00310405  0.712245  ]
  [-0.3457064  -0.48265827 -0.70713836]
  [ 0.32981533 -0.4874904  -0.78599405]
  ...
  [ 0.33184078 -0.3098195   0.79109985]
  [ 0.33954543  0.089734    0.31315172]
  [ 0.04358377  0.01087826  0.26341754]]]
then, we get values of faceId: [[7386 5884  401 ... 6947 6947 7504]
 [ 784  784  609 ...  787  784 1110]
 [ 344  229  213 ...  346  222  220]
 ...
 [  22  170   96 ...  171    7   36]
 [  60   10    6 ...   31   58   43]
 [ 100   86    0 ...   43   26    9]]
then, we get values of label: [[30]
 [27]
 [30]
 ...
 [23]
 [ 9]
 [33]]
then, we get values of normal: [[[ 0.00000e+00  0.00000e+00  1.00000e+00]
  [ 0.00000e+00  0.00000e+00 -1.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  ...
  [ 1.00000e+00  0.00000e+00  0.00000e+00]
  [ 1.00000e+00  0.00000e+00  0.00000e+00]
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]]

 [[ 0.00000e+00  1.00000e+00  0.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  [ 1.00000e+00  0.00000e+00  9.35224e-04]
  ...
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  [ 0.00000e+00  0.00000e+00  1.00000e+00]]

 [[-1.00000e+00  0.00000e+00  0.00000e+00]
  [ 0.00000e+00  0.00000e+00  1.00000e+00]
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]
  ...
  [-1.00000e+00  0.00000e+00  0.00000e+00]
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]]

 ...

 [[ 0.00000e+00  0.00000e+00  1.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  ...
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  [ 0.00000e+00  0.00000e+00 -1.00000e+00]
  [-1.00000e+00  0.00000e+00  0.00000e+00]]

 [[ 0.00000e+00 -1.00000e+00  0.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]
  ...
  [ 5.48694e-01 -6.76040e-01  4.91838e-01]
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]
  [-5.48694e-01 -6.76040e-01 -4.91838e-01]]

 [[ 0.00000e+00  0.00000e+00 -1.00000e+00]
  [ 0.00000e+00  0.00000e+00  1.00000e+00]
  [ 0.00000e+00  0.00000e+00  1.00000e+00]
  ...
  [ 0.00000e+00  0.00000e+00 -1.00000e+00]
  [ 0.00000e+00 -1.00000e+00  0.00000e+00]
  [ 0.00000e+00  1.00000e+00  0.00000e+00]]]

发布了34 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/lizhengze1117/article/details/103919418