我正在阅读一些我希望附加到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
其中p
是i
乘j
numpy数组(greyscale iage),并且get_images()
返回图像和元组中元数据的python生成器
所以问题是,当我重新读取输出的文件时,我看到所有的图像实际上都是相同的。我假设是因为p
是对循环中重用的numpy数组的引用。我本以为p.copy()
会阻止这种情况的发生
我做错什么了
目前没有回答
相关问题 更多 >
编程相关推荐