hdf5追加到数据集按引用添加

2024-09-29 19:21:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在阅读一些我希望附加到hdf5数据集的图像:

with h5py.File(output_file, 'w') as hf:
    i = 0
    for p,meta in get_images( file_pattern, star_pattern ):
        if i == 0:
            hf.create_dataset(dsname, data=p[np.newaxis,...], maxshape=(None,p.shape[0],p.shape[1]), chunks=True)
        else:
            hf[dsname].resize( (hf[dsname].shape[0]+1), axis=0 )
            hf[dsname][-hf[dsname].shape[0]:] = p.copy()
        print( ".", end='')
        i = i+1

其中pijnumpy数组(greyscale iage),并且get_images()返回图像和元组中元数据的python生成器

所以问题是,当我重新读取输出的文件时,我看到所有的图像实际上都是相同的。我假设是因为p是对循环中重用的numpy数组的引用。我本以为p.copy()会阻止这种情况的发生

我做错什么了


Tags: 数据图像getwith数组filehdf5pattern

热门问题