簡體   English   中英

使用h5py在HDF5中部分寫入數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM