日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

h5后缀文件python处理

發(fā)布時間:2024/1/8 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 h5后缀文件python处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文件的結(jié)構(gòu)為組+數(shù)據(jù)集
其中組可以是多級的,類似文件夾的目錄關(guān)系。

首先打開對應(yīng)文件:

// An highlighted block import h5py import numpy as np from PIL import Imageh5_file = "D:/GoProEvent/GOPRO/GOPRO/train/GOPR0372_07_00.h5" file = h5py.File(h5_file, "r") groups = [key for key in file.keys()] print("該文件共有以下幾組:", groups)

輸出結(jié)果:

用file[‘group’]來“打開對應(yīng)目錄”
如果是多級group可以將相關(guān)信息打印出來查看:

// An highlighted block h5_file = "D:/GoProEvent/GOPRO/GOPRO/train/GOPR0372_07_00.h5" file = h5py.File(h5_file, "r") groups = [key for key in file.keys()] print("該文件共有以下幾組:", groups) a = file['masks'] agroup = [key for key in a.keys()] print("該文件共有以下幾組:", agroup)

輸出結(jié)果:

通過對應(yīng)的組別名稱獲取相應(yīng)的數(shù)據(jù):
對數(shù)據(jù)所在的group進行操作,對應(yīng)以上代碼即‘mask000000000’內(nèi)獲取數(shù)據(jù)。可以理解為名稱為mask000000000的文件內(nèi)的東西就是你要數(shù)據(jù)。(這里也可以理解為圖像,只不過你需要的不是圖像,而是圖像內(nèi)的像素集合)

// An highlighted block for fg in a:print("group:"+fg)print(file['masks'][fg][:].shape)img = file['masks'][fg][:]print(img)

部分輸出:

得到數(shù)據(jù)后,利用PIL依賴將數(shù)據(jù)保存為圖片格式。

// An highlighted block conut = 0 for fg in a:print("group:"+fg)print(file['masks'][fg][:].shape)img = file['masks'][fg][:]#print(type(img))save_path = 'D:/GoProEvent/masks/' + str(conut) + ".png"img = img.swapaxes(0, 1) //調(diào)整維度順序img = img.swapaxes(1, 2)img = np.squeeze(img)print(img.shape)img = Image.fromarray(np.uint8(img)).convert("L")//針對單通道處理img.save(save_path)conut = conut + 1

需要注意的是給出的例子是一個單通道的灰度圖。針對圖像處理的Image.fromarray()函數(shù)貌似只能處理3通道或者是二維數(shù)組,所以利用img = np.squeeze(img)對通道數(shù)進行了處理。同時需要對初始數(shù)據(jù)維度進行校準,需要將維度順序改為 HWC

如果需要對三通道進行處理,修改部分代碼為:展示所有代碼

// An highlighted block import h5py import numpy as np from PIL import Imageh5_file = "D:/GoProEvent/GOPRO/GOPRO/train/GOPR0372_07_00.h5" file = h5py.File(h5_file, "r") groups = [key for key in file.keys()] print("該文件共有以下幾組:", groups) a = file['masks'] conut = 0 for fg in a:print("group:"+fg)img = file['masks'][fg][:]save_path = 'D:/GoProEvent/masks/' + str(conut) + ".png"img = img.swapaxes(0, 1)img = img.swapaxes(1, 2)img = Image.fromarray(np.uint8(img))img.save(save_path)conut = conut + 1

總結(jié)

以上是生活随笔為你收集整理的h5后缀文件python处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。