LMDB数据生成与解析

13 篇文章 0 订阅
13 篇文章 0 订阅
# -*- coding: utf-8 -*-

from scipy.misc import imsave
import numpy as np
import cPickle
import os
from mysql import connector


# # 定义将图片路径写入数据库的函数
#
# def write_img_path(img_path, img_label):
#     insertsql = 'INSERT INTO `test_cifar_img` (`img_path`,`img_label`) VALUES (%s,%s)'
#     insertvalues = [(img_path, img_label)]
#
#     cnx = connector.connect(host="", user="", password="", database="",
#                             charset="utf8", unix_socket='/tmp/mysql.sock')
#
#     db0 = cnx.cursor()
#     db0.executemany(insertsql, insertvalues)
#     cnx.commit()
#     db0.close()



# 该函数是将cifar数据文件转换为字典
def unpickle(file_path):
    cifar_date_file = open(file_path, 'rb')
    cifar_dict = cPickle.load(cifar_date_file)
    cifar_date_file.close()
    return cifar_dict


print 'into main function'

# 拼接cifar文件路径
cifar_date_path = 'contact/contact'
# 获取cifar相应的数据字典
cifar_date_dict = unpickle(cifar_date_path)

print len(cifar_date_dict['data'])

# 将字典中的图片数据取出来转换为图片
for i in range(0, 10000):
    # 这里是因为LMDB数据格式规定必须这么解析
    single_img = np.reshape(cifar_date_dict['data'][i], (3, 32, 32))
    single_std_img = single_img.transpose(1, 2, 0)

    single_std_img_path = 'test/' + str(cifar_date_dict['labels'][i]) + '/' + str(i) + '.png'
    dirpath = 'test/' + str(cifar_date_dict['labels'][i])
    if not os.path.exists(dirpath):
        os.makedirs(dirpath)

    imsave(single_std_img_path, single_std_img)
    # 这里我们将图片的路径写入数据库
    # write_img_path(single_std_img_path, cifar_date_dict['labels'][i])


print 'cifar 图片解析完成'



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值