Как сохранить массив изображений вместе с информацией, относящейся к нему? - PullRequest
0 голосов
/ 19 октября 2019

Я скребу машины, и у меня будет много фотографий, эта часть не проблема. Я хочу сохранить технические характеристики автомобиля также. Мне интересно, как лучше сделать это эффективно. В идеале у меня было бы что-то вроде встроенных наборов данных во многих библиотеках. Например:

print(dataset)

{

'image': ([255, 203, 145, ...]),

'info': (['Audi', '355 HP', ...])

}

Таким образом, я мог легко извлекать изображения и информацию с помощью dataset['info'] или что-то в этом роде. Я мог бы легко назначить оба типа x, y = dataset.

1 Ответ

1 голос
/ 19 октября 2019

Есть несколько вариантов, но для структурированных данных, подобных этой, обычно хранятся словари с использованием hdf5.

См. Руководство по питону и полную документацию здесь

http://docs.h5py.org/en/stable/quick.html


Вот полный пример Python. Обратите внимание на словарь, как интерфейс.

import h5py
import numpy as np

#####
#writing output file
#####
my_file = h5py.File("output.h5",'w')
my_file['info']  = np.string_("some_random pixels")    #hdf5 needs numpy to store strings
my_file['image'] = np.random.rand(5,5)
my_file.close()
#####
#reading input file
#####
loaded_file = h5py.File("output.h5",'r')
print(np.array(loaded_file['info']))                  #hdf5 also needs numpy to read strings as well
print(np.array(loaded_file['image']))
loaded_file.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...