我正在尝试获取图像文件夹并将它们转换为 hdf5 文件类型以用于分类学习模型。文件夹中的每张图像都应与文件夹名称配对,作为其分类标签。我有 10 个图像文件夹,它们需要放在一个大的 hdf5 文件中。
我在网上搜索了这个问题的答案,但似乎真的找不到任何有用的东西。我唯一看到的是只用一个文件夹创建,但它没有说明多个文件夹或如何附加到 hdf5 文件。这是用什么语言编程的并不重要,因为我只打算运行脚本来创建 hdf5 文件。
为清楚起见,最终结果应该是一个包含两组的 hdf5 文件(一组是标签,另一组是数据)。每个组的每个图像/标签都应该有一个单独的数据集,并且匹配的数据集应该具有相同的文件名/编号。
更新:我找到并修改了下面的代码,它遍历文件夹并为每个图像创建数据集。但是,我不知道如何将数据集添加到 hdf5 文件中的特定组。
import sys
import glob
import h5py
import cv2
IMG_WIDTH = 30
IMG_HEIGHT = 30
h5file = 'test.h5'
nfiles = len(glob.glob('./*.jpeg'))
print(f'count of image files nfiles={nfiles}')
with h5py.File(h5file,'w') as h5f:
for x in range(nfiles):
convert_num = str(x)
img_ds = h5f.create_dataset(convert_num, shape=(nfiles, IMG_WIDTH, IMG_HEIGHT, 3), dtype=int)