[英]partially write array in HDF5 with h5py
我要做的是保存成千上万张图像。
每个图像集具有可变数量的图像。 我已经看到,在写入实际数据之前,hdf5格式不会分配磁盘。
我决定编写( 集合数,最大集合大小,imgX,imgY )形状数组。
这个数组真的很大。 因此,如果我写数组中的每个单元格,就无法一次写数组。 因此,我编写了代码来一次写入每个图像。 但是,一次写一个似乎根本不写任何内容。
以下是我的代码及其输出。 它向我显示了我写的实际图像,但是一旦我从hdf5
读取,它就会显示空白图像。
with h5py.File("D:\\data_icon\\flaticon\\test.hdf5",'w') as hf:
flt = hf.create_dataset("flaticon", (2,500,128,128))
for idx, icon_image in enumerate(pack_image_list[0][:5]):
flt[0][idx]=icon_image
plt.subplot(1,10,idx+1)
plt.imshow(icon_image, cmap=plt.get_cmap('gray'))
plt.axis('off')
plt.show()
for idx, icon_image in enumerate(pack_image_list[0][5:15]):
flt[0][idx]=icon_image
plt.subplot(1,10,idx+1)
plt.imshow(icon_image, cmap=plt.get_cmap('gray'))
plt.axis('off')
plt.show()
for i in range(1,11):
plt.subplot(1,10,i)
plt.imshow(flt[0][i], cmap=plt.get_cmap('gray'))
plt.axis('off')
plt.show()
首先,不按组编写单独的数据集的原因是什么? HDF5的优势之一是能够在单个文件中以命名组和数据集的结构存储许多阵列。
其次, pack_image_list
的数据到底是什么?
如果您需要进一步的帮助,请提供输入数据的副本:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.