def write_lmdb(db_path, list_filename, height, width):
map_size = 9999999999
db = lmdb.open(db_path, map_size=map_size)
writer = db.begin(write=True)
datum = caffe.proto.caffe_pb2.Datum()
for index, line in enumerate(open(list_filename, 'r')):
img_filename, label = line.strip().split(' ')
img = cv2.imread(img_filename, 1)
img = cv2.resize(img, (height, width))
_, img_jpg = cv2.imencode('.jpg', img)
datum.channels = 3
datum.height = height
datum.width = width
datum.label = int(label)
datum.encoded = True
datum.data = img_jpg.tostring()
datum_byte = datum.SerializeToString()
index_byte = '%010d' % index
writer.put(index_byte, datum_byte, append=True)
writer.commit()
db.close()
评论列表
文章目录