网上相关资料很少,今天做了将文件夹下的所有.jpg格式的图片转换成hdf5格式,中途踩了很多坑,最后在老师的指导下写出来了,特此记录。
二话不说,直接上代码,很好理解。我的图片命名是x1_y1_x2_y2.jpg的形式,用CNN做回归,找到2个坐标的x,y值。建议用python做文本处理,非常快,很容易上手。
主要看data和label具体怎么写,怎么定义,怎么转换,这个是关键。所有的图片都读取完,一次性create_dataset,不然会出错。
import numpy as np
import h5py
import cv2
import os
import random
import code
import string
def store_hdf5(filename, mapping):
"""Function to store data mapping to a hdf5 file
Args:
filename (str): The output filename
mapping (dic): A dictionary containing mapping from name to numpy data The complete mapping will be stored as single datasets in the h5py file.
print("Storing hdf5 file %s" % filename)
with h5py.File(filename, 'w') as hf:
for label, data in mapping.items():
print(" adding dataset %s with shape %s" % (label, data.shape))
hf.create_dataset(label, data=data)
print(" finished")
if __name__=&