【发布时间】:2021-08-14 13:48:02
【问题描述】:
我有一个 dataset.h5 文件,其中包含使用以下格式编号的“文件”:
/frame_0000_000
其中前四个数字对应一个人的ID,后三个数字对应图像ID。本质上它在文件中看起来像这样(但有数千个条目)
/frame_0000_000
/frame_0000_001
/frame_0000_002
/frame_0001_000
/frame_0001_001
我正在尝试将每个人作为一个元素创建一个数组(基于文件),并尝试创建第二个数组,其中包含每个人的图像数量。即人 0 有 3 张图片。
以下是我尝试过的,但我不禁认为必须有更好的方法(更有效),这就是我问的原因。我已经搜索了很多,希望得到指导。特别是因为我的代码无法识别最后一个人的图像数量。
我仍在学习编码,非常感谢您的帮助。谢谢。
P.S 我无法共享数据集。
import h5py
test = h5py.File(filename, 'r')
uniquesubjects = []
uniqueframes = []
count = 0
for (idx,st) in enumerate (test,1):
splitter = st.split('_')
if (splitter[0]=='frame'):
subject = splitter[1]
if subject not in uniquesubjects and subject =='0000':
uniquesubjects.append(subject)
if subject not in uniquesubjects:
uniquesubjects.append(subject)
uniqueframes.append(count)
count = 0
if subject in uniquesubjects:
count = count+1
print(uniqueframes)
print(uniquesubjects)
【问题讨论】: