【问题标题】:Extracting images from matlab file从matlab文件中提取图像
【发布时间】:2019-02-24 09:51:50
【问题描述】:

我正在尝试从名为 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']

【问题讨论】:

标签: python matlab


【解决方案1】:

我希望这会有所帮助。

我想你正在使用 PIL 包函数 fromarray 需要“图像的模式”见https://pillow.readthedocs.io/en/3.1.x/handbook/concepts.html#concept-modes

我想你的图像是 RGB 格式的。我相信图像应该在“图像”组和数据集 image_name 下

因此

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,它将帮助浏览它。

【讨论】:

  • 感谢您的回答!我认为如果在“图像”组下有一个名为 image_name 的数据集,这将起作用。感谢这个网站ddokkddokk.tistory.com/21,我设法解决了这个问题
猜你喜欢
  • 2021-11-12
  • 2013-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多