我正在尝试从称为NYUV2 dataset的RGB-D数据集中提取图像(及其标签等)。 (我下载了标记的数据集)
这是一个matlab文件,因此我尝试使用hdf5进行读取,但我不知道如何从此处继续。如何将图像及其相应的标签和深度保存到另一个文件夹中?
这是我使用的脚本及其相应的输出。
import numpy as np
import h5py
f = h5py.File('nyu_depth_v2_labeled.mat','r')
k = list(f.keys())
print(k)
输出为
['#refs#', '#subsystem#', 'accelData', 'depths', 'images', 'instances', 'labels', 'names', 'namesToIds', 'rawDepthFilenames', 'rawDepths', 'rawRgbFilenames', 'sceneTypes', 'scenes']
答案 0 :(得分:1)
我希望这会有所帮助。
我想您正在使用PIL包fromarray函数需要“图像模式”,请参见https://pillow.readthedocs.io/en/3.1.x/handbook/concepts.html#concept-modes
我想您的图像是RGB。我相信图像应该在“图像”和数据集“图像名称”下
因此
import h5py
import numpy as np
from PIL import Image
hdf = h5py.File('nyu_depth_v2_labeled.mat','r')
array = np.array(list(hdf.get("images/image_name")))
img = Image.fromarray(array.astype('uint8'), 'RGB')
img.show()
您还可以查看我给出的另一个答案,以了解如何保存图像
Images saved as HDF5 arent colored
要查看h5文件的内容,请下载HDFview,它将有助于在其中导航。