Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明

博客说明:
博客内容用于学习与分享,有问题欢迎大家讨论留言。

关于作者:
程序员:杨洪(ellende)
blog: http://blog.csdn.NET/ellende
email: [email protected]

转载请注明出处,引用部分网上博客,若有侵权还请作者联系与我。



本文针对百度开源提供的智能驾驶平台H5数据进行读取,通过python解析H5格式文件。


百度数据下载地址:

http://roadhackers.baidu.com/#downloads


下载包含三个文件:训练集数据(4.xG),训练集结果(几兆),测试集数据(5.xG),解压后数据量更大,以下分别进行数据解析说明。


1.训练集结果

#!usr/bin/python
# -*- coding: utf-8 -*-

import cv2
import numpy as np
import h5py
import xlwt
from datetime import datetime


def write_data_to_excel(name,result):

    # 实例化一个Workbook()对象(即excel文件)
    wbk = xlwt.Workbook()
    # 新建一个名为Sheet1的excel sheet。此处的cell_overwrite_ok =True是为了能对同一个单元格重复操作。
    sheet = wbk.add_sheet('Sheet1',cell_overwrite_ok=True)
    # 获取当前日期,得到一个datetime对象如:(2016, 8, 9, 23, 12, 23, 424000)
    today = datetime.today()
    # 将获取到的datetime对象仅取日期如:2016-8-9
    today_date = datetime.date(today)
    # 遍历result中的每个元素。
    for i in xrange(len(result)):
        #对result的每个子元素作遍历,
        for j in xrange(len(result[i])):
            #将每一行的每个元素按行号i,列号j,写入到excel中。
            sheet.write(i,j,result[i][j])
    # 以传递的name+当前日期作为excel名称保存。
    wbk.save(name+str(today_date)+'.xls')


f = h5py.File('D:\\AllDownloadFiles\\train-result-119\\119.h5', 'r')
dset = f[f.keys()[0]] #f.keys()只有一个键值:u'attrs'
data = np.array(dset[:,:])

# 数据写入excel表格
write_data_to_excel('D:\\AllDownloadFiles\\train-result-119\\', data);



存入到excel表格中,数据格式如下:

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第1张图片



2.训练集数据

#!usr/bin/python
# -*- coding: utf-8 -*-

import cv2
import numpy as np
import h5py
import xlwt

def saveOnePic(fh, data_type, save_dir):
    #data_type = "%.3f" % float(index_num)
    dset = fh[data_type]
    data = np.array(dset[:,:,:])

    # 存储一个图片
    filePath = save_dir+'\\'+data_type+'.jpg'
    cv2.imwrite(filePath, data)


if __name__=="__main__":
    f = h5py.File('D:\\AllDownloadFiles\\train-data-119\\119.h5', 'r')

    max_num = 100
    file_len = len(f.keys())

    for index in range(0,max_num-1):
        if index < file_len:
            index_type = f.keys()[index]
            saveOnePic(f, index_type, 'D:\\AllDownloadFiles\\train-data-119')


max_num限制最大个数,可以修改大小。

下面是解析出来的图片:

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第2张图片

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第3张图片

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第4张图片



3.测试集数据

#!usr/bin/python
# -*- coding: utf-8 -*-

import cv2
import numpy as np
import h5py
import xlwt

def saveOnePic(fh, data_type, save_dir):
    #data_type = "%.3f" % float(index_num)
    dset = fh[data_type]
    data = np.array(dset[:,:,:])

    # 存储一个图片
    filePath = save_dir+'\\'+data_type+'.jpg'
    cv2.imwrite(filePath, data)



if __name__=="__main__":
    f = h5py.File('D:\\AllDownloadFiles\\test-part01.h5\\testfile_part01.h5', 'r')

    max_num = 100
    file_len = len(f.keys())
    
    for index in range(0,max_num-1):
        if index < file_len:
            index_type = f.keys()[index]
            saveOnePic(f, index_type, 'D:\\AllDownloadFiles\\test-part01.h5')



max_num限制最大个数,可以修改大小。

下面是解析出来的图片:

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第5张图片

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第6张图片

Road Hackers百度开源提供智能驾驶H5(h5py)格式文件数据读取说明_第7张图片


解析完成,后面就可以用这些图片数据进行算法开发了,加油吧~





你可能感兴趣的:(机器学习)