Я создал контейнер HDF5, используя MATLAB. Контент - это несколько изображений с размерами [1024 1024 4]
(= ширина, высота, каналы). Я создал и заполнил набор данных, как это:Добавить данные в контейнер hdf5 с Matlab
% GENERATE DATA
img = double(ones([1024 1024 4])); % example for image
imgs_dset = double(ones([size(img) n_imgs]); % dataset [1024 1024 4 n_imgs]
datasetname = '/data';
% CREATE hdf5 container
% dset_size is 'Inf' so that container can hold arbitrary number of imgs
dset_size = [size(img) Inf]; % = [1024 1024 4 Inf]
h5create(filename, datasetname, dset_size, 'Datatype', class(imgs_dset));
% FILL dataset
h5write(filename, datasetname, imgs_dset);
Это все хорошо, все n_imgs
записываются в файл. Однако теперь я хочу добавить дополнительные изображения в один и тот же набор данных, , не зная размер n_imgs
созданного файла (добавочный скрипт обращается к файлу независимо от сценария создания).
Для более старых версий был вариант, как 'WriteMode', 'append'
, но теперь функция h5write ожидает параметры start
и count
(doc здесь).
Я озадачен тем, как определить эти параметры. В этом примере они установлены
start = [1 j]; % probably translates to [1 n_imgs]?
count = [20 1]; % translates to [img ?]
Как бы установить эти параметры в моем примере?
- Если я знаю
n_imgs
? - Если я не знаю
n_imgs
?
большой , это именно то, что мне нужно. Спасибо за объяснение! – Honeybear