python lmdb使用
python lmdb使用
LMDB和SQLite/MySQL等关系型数据库不同,属于key-value数据库(把LMDB想成dict会比较容易理解),键key与值value都是字符串。
安装
pip install lmdb
###操作流程
1.创建lmdb环境
env = lmdb.open()
2.建立事务
txn = env.begin()
3.向事务中写入或者修改数据
txn.put(key, value)
4. 删除数据
txn.delete(key)
5. 数据查询
txn.get(key)
6. 数据遍历
txn.cursor()
7. 数据提交
txn.commit()
项目实际用例
在进行OCR文本识别的过程中训练的数据量较大,所以采用将数据保存为LMDB数据,指定图片的主路径与标签文件
如下所示:
# coding:utf-8
import os
import lmdb # install lmdb by "pip install lmdb"
import cv2
import re
from PIL import Image
import numpy as np
import imghdr
import argparse
from tqdm import tqdm
def init_args():
args = argparse.ArgumentParser()
args.add_argument('-i',
'--image_dir',
default='',
type=str,
help='The directory of the dataset , which contains the images')
args.add_argument('-l',
'--label_file',
default='/datassd/hzl/text_render_data/mingpian/new_gray.txt',
type=str,
help='The file which contains the paths and the labels of the data set')
args.add_argument('-s',
'--save_dir',
default='/datassd/hzl/text_render_data/mingpian/lmdb_gray/',
type=str
, help='The generated mdb file save dir')
args.add_a