Извлечение изображений из файла Matlab - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь извлечь изображения (и его метку и тому подобное) из набора данных RGB-D, называемого Набор данных NYUV2 .(Я скачал помеченный набор данных)

Это файл 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']

1 Ответ

0 голосов
/ 20 сентября 2018

Надеюсь, это поможет.

Я полагаю, вы используете пакет PIL. Функция fromarray ожидает "режим изображения", см. https://pillow.readthedocs.io/en/3.1.x/handbook/concepts.html#concept-modes

Я полагаю, ваше изображение в RGB.Я считаю, что изображение должно находиться в группе 'images' и наборе данных 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()

Вы также можете посмотреть другой ответ, который я дал, чтобы узнать, как сохранить изображения

Изображения, сохраненные в формате HDF5, не окрашены

Чтобы просмотреть содержимое файла h5, загрузите HDFview, это поможет с навигацией по нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...