J'ai créé un conteneur HDF5 en utilisant MATLAB. Contenu sont plusieurs images avec les dimensions [1024 1024 4]
(= largeur, hauteur, canaux). J'ai créé et rempli l'ensemble de données comme ceci:Ajout de données au conteneur hdf5 avec 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);
C'est tout bien, tout n_imgs
sont écrites dans le fichier. Cependant, je veux maintenant ajouter d'autres images dans le même jeu de données, ne connaissant pas la taille n_imgs
du fichier créé (le script annexe accède au fichier indépendamment du script de création).
Pour les anciennes versions, il y avait une option comme 'WriteMode', 'append'
, mais maintenant la h5write de fonction prend les paramètres start
et count
(doc est ici).
Je suis intriguée sur la façon de déterminer ces paramètres. Dans l'exemple, ils ont défini
start = [1 j]; % probably translates to [1 n_imgs]?
count = [20 1]; % translates to [img ?]
Comment définir ces paramètres dans mon exemple?
- Si je connais
n_imgs
? - Si je ne connais pas
n_imgs
?
grand , c'est exactement ce dont j'avais besoin. Merci pour l'explication! – Honeybear