Вы можете сохранить каждый файл (т. Е. Изображение) как набор данных HDF5 с типом данных opaque
. Кроме того, для каждого набора данных вы можете связать один или несколько атрибутов для описания файла (например, метка времени создания).
Используя HDFql в Python, это можно реализовать следующим образом:
import HDFql
HDFql.execute("CREATE FILE images.h5") # create HDF5 file named 'images.h5'
HDFql.execute("USE FILE images.h5") # use (i.e. open) HDF5 file 'images.h5'
HDFql.execute("SHOW FILE my_directory/") # get files (i.e. images) stored in directory 'my_directory' and populate cursor with result
my_cursor = HDFql.Cursor()
i = 1
while HDFql.cursor_next() == HDFql.SUCCESS: # loop through cursor
file_name = HDFql.cursor_get_char()
HDFql.cursor_use(my_cursor)
HDFql.execute("SHOW FILE SIZE my_directory/%s" % file_name)
file_size = HDFql.cursor_get_bigint()
HDFql.cursor_use_default()
dataset_name = "dataset_%04d" % i
HDFql.execute("CREATE DATASET %s AS OPAQUE(%d) VALUES FROM BINARY FILE %s" % (dataset_name, file_size, file_name)) # create HDF5 dataset and write data from file into it
i = i + 1