【发布时间】:2017-06-19 22:15:02
【问题描述】:
我使用 MATLAB 创建了一个 HDF5 容器。内容是几张尺寸为[1024 1024 4](= 宽度、高度、通道)的图像。我这样创建并填充了数据集:
% 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?
【问题讨论】: