自己写的一个小代码,稍后会传到GitHub上,这里分享给大家!
# coding: utf-8
import lmdb
import numpy as np
import caffe_pb2
import cv2
dataDir = '***_lmdb'#lmdb文件夹
env = lmdb.open(dataDir,readonly=True,lock=True)
datum = caffe_pb2.Datum()
txn = env.begin()
fr_key = open('key','r')#存放key的文件,根据key去找数据
keylines = fr_key.readline()
fr_key.close()
for k in keylines:
rawDatum = txn.get(k.strip())
datum.ParseFromString(rawDatum)
flatData = np.fromstring(datum.data,dtype=np.uint8)
x = flatData.reshape(datum.channels,datum.height,datum.wdith)
x = x.transpose(1,2,0)
cv2.imshow('pic','x')
cv2.waitKey(0)
cv2.destroyAllwindows()