如何可视化 h5 格式数据的图像?
How can I visualise an image in h5 format data?
import h5py
f = h5py.File('the_file.h5', 'r')
one_data = f['key']
print(one_data.shape)
print(one_data.dtype)
print(one_data)
我使用上面的代码打印信息。
打印结果为:
(320, 320, 3)
uint8
<HDF5 dataset "1458552843.750": shape (320, 320, 3), type "|u1">
import cv2
import numpy as np
import h5py
f = h5py.File('the_file.h5', 'r')
dset = f['key']
data = np.array(dset[:,:,:])
file = 'test.jpg'
cv2.imwrite(file, data)
jet 提供的解决方案工作得很好,但缺点是需要包含 OpenCV (cv2)。如果您不将 OpenCV 用于其他任何用途,那么 install/include 仅用于保存文件就有点矫枉过正了。或者,您可以使用 imageio.imwrite
(doc),它占用空间更小,例如:
import imageio
import numpy as np
import h5py
f = h5py.File('the_file.h5', 'r')
dset = f['key']
data = np.array(dset[:,:,:])
file = 'test.png' # or .jpg
imageio.imwrite(file, data)
安装 imageio 就像 pip install imageio
一样简单。
此外,matplotlib.image.imsave
(doc) 提供了类似的图像保存功能。
还可以更简单:
pip install Pillow h5py
然后
import h5py
from PIL import Image
f = h5py.File('the_file.h5', 'r')
dset = f['key'][:]
img = Image.fromarray(dset.astype("uint8"), "RGB")
img.save("test.png")
import h5py
f = h5py.File('the_file.h5', 'r')
one_data = f['key']
print(one_data.shape)
print(one_data.dtype)
print(one_data)
我使用上面的代码打印信息。 打印结果为:
(320, 320, 3)
uint8
<HDF5 dataset "1458552843.750": shape (320, 320, 3), type "|u1">
import cv2
import numpy as np
import h5py
f = h5py.File('the_file.h5', 'r')
dset = f['key']
data = np.array(dset[:,:,:])
file = 'test.jpg'
cv2.imwrite(file, data)
jet 提供的解决方案工作得很好,但缺点是需要包含 OpenCV (cv2)。如果您不将 OpenCV 用于其他任何用途,那么 install/include 仅用于保存文件就有点矫枉过正了。或者,您可以使用 imageio.imwrite
(doc),它占用空间更小,例如:
import imageio
import numpy as np
import h5py
f = h5py.File('the_file.h5', 'r')
dset = f['key']
data = np.array(dset[:,:,:])
file = 'test.png' # or .jpg
imageio.imwrite(file, data)
安装 imageio 就像 pip install imageio
一样简单。
此外,matplotlib.image.imsave
(doc) 提供了类似的图像保存功能。
还可以更简单:
pip install Pillow h5py
然后
import h5py
from PIL import Image
f = h5py.File('the_file.h5', 'r')
dset = f['key'][:]
img = Image.fromarray(dset.astype("uint8"), "RGB")
img.save("test.png")