Я использовал HDF5 из Python, через h5py
Немного — я избалован его плавной интеграцией с NumPy. Теперь, из C / C ++ — земли, я пытаюсь сохранить и загрузить данные изображений в хранилища HDF5, и у меня возникают проблемы с выяснением, как задать шаг данных изображения.
Чтение и запись данных измерений — форма матрицы в Python — проста; Я читаю это так:
constexpr std::size_t NDIMS = 3;
hid_t space_id = H5Dget_space(dataset_id);
hsize_t dims[NDIMS];
H5Sget_simple_extent_dims(space_id, dims, NULL);
… и напишите это аналогично (для экземпляра изображения input
):
constexpr std::size_t NDIMS = 3;
hsize_t dims[NDIMS] = { static_cast<hsize_t>(input.dim(0)),
static_cast<hsize_t>(input.dim(1)),
static_cast<hsize_t>(input.dim(2)) };
/// first arg here is rank (aka NDIMS)
hid_t space_id = H5Screate_simple(NDIMS, dims, NULL);
… Примеры кода HDF5, которые я могу найти, являются либо совершенно тривиальными примерами, когда записываемые или считываемые данные очень малы и имеют известный размер, либо чрезвычайно продвинутыми и превышающими мой текущий уровень оплаты, например, например. h5py
или же tables
источник. Я ищу простой пример того, как одна матрица отображает данные о шагах в API HDF5.
Задача ещё не решена.