欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python生成lmdb格式的文件

系統 1674 0

????????在crnn訓練的時候需要用到lmdb格式的數據集,下面是python生成lmdb個是數據集的代碼,注意一定要在linux系統下,否則會讀入圖像的時候出問題,可能遇到的問題都在代碼里面注釋了,看代碼即可。

            
              
                #-*- coding:utf-8 -*-

import os
import lmdb#先pip install這個模塊哦
import cv2
import glob
import numpy as np


def checkImageIsValid(imageBin):
    if imageBin is None:
        return False
    imageBuf = np.fromstring(imageBin, dtype=np.uint8)
    img = cv2.imdecode(imageBuf, cv2.IMREAD_GRAYSCALE)
    if img is None:
        return False
    imgH, imgW = img.shape[0], img.shape[1]
    if imgH * imgW == 0:
        return False
    return True

def writeCache(env, cache):
    with env.begin(write=True) as txn:
        for k, v in cache.iteritems():
            txn.put(k, v)

def createDataset(outputPath, imagePathList, labelList, lexiconList=None, checkValid=True):
    """
    Create LMDB dataset for CRNN training.

#    ARGS:
        outputPath    : LMDB output path
        imagePathList : list of image path
        labelList     : list of corresponding groundtruth texts
        lexiconList   : (optional) list of lexicon lists
        checkValid    : if true, check the validity of every image
    """
    # print (len(imagePathList) , len(labelList))
    assert(len(imagePathList) == len(labelList))
    nSamples = len(imagePathList)
    print '...................'
    env = lmdb.open(outputPath, map_size=8589934592)#1099511627776)所需要的磁盤空間的最小值,之前是1T,我改成了8g,否則會報磁盤空間不足,這個數字是字節
    
    cache = {}
    cnt = 1
    for i in xrange(nSamples):
        imagePath = imagePathList[i]
        label = labelList[i]
        if not os.path.exists(imagePath):
            print('%s does not exist' % imagePath)
            continue
        with open(imagePath, 'r') as f:
            imageBin = f.read()
        if checkValid:
            if not checkImageIsValid(imageBin):
                print('%s is not a valid image' % imagePath)#注意一定要在linux下,否則f.read就不可用了,就會輸出這個信息
                continue

        imageKey = 'image-%09d' % cnt
        labelKey = 'label-%09d' % cnt
        cache[imageKey] = imageBin
        cache[labelKey] = label
        if lexiconList:
            lexiconKey = 'lexicon-%09d' % cnt
            cache[lexiconKey] = ' '.join(lexiconList[i])
        if cnt % 1000 == 0:
            writeCache(env, cache)
            cache = {}
            print('Written %d / %d' % (cnt, nSamples))
        cnt += 1
    nSamples = cnt - 1
    cache['num-samples'] = str(nSamples)
    writeCache(env, cache)
    print('Created dataset with %d samples' % nSamples)


def read_text(path):
    
    with open(path) as f:
        text = f.read()
    text = text.strip()
    
    return text


if __name__ == '__main__':
    # lmdb 輸出目錄
    outputPath = 'D:/ruanjianxiazai/tuxiangyangben/fengehou/train'#訓練集和驗證集要跑兩遍這個程序,分兩次生成

    path = "D:/ruanjianxiazai/tuxiangyangben/fengehou/chenguang/*.jpg"#將txt與jpg的都放在同一個文件里面
    imagePathList = glob.glob(path)
    print '------------',len(imagePathList),'------------'
    imgLabelLists = []
    for p in imagePathList:
        try:
           imgLabelLists.append((p, read_text(p.replace('.jpg', '.txt'))))
        except:
            continue
            
    # imgLabelList = [ (p, read_text(p.replace('.jpg', '.txt'))) for p in imagePathList]
    # sort by labelList
    imgLabelList = sorted(imgLabelLists, key = lambda x:len(x[1]))
    imgPaths = [ p[0] for p in imgLabelList]
    txtLists = [ p[1] for p in imgLabelList]
    
    createDataset(outputPath, imgPaths, txtLists, lexiconList=None, checkValid=True)


              
            
          


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品国产一区二区三区成人影院 | 亚洲成人一区二区 | 无遮挡一级毛片私人影院 | 欧美一区二区三区中文字幕 | 八武将免费完整版在线观看 | 另类综合网 | 免费看污成人午夜网站 | 国产二区三区 | 色综合久久综精品 | 欧美一级特黄aaaaaa在线看首页 | 亚欧洲精品视频在线观看 | 激情大乳女做爰办公室韩国 | 亚洲一区中文字幕 | 久久久www视频 | 日韩视频在线观看免费 | av在线官网 | 性欧美高清极品猛交 | 欧美理伦 | 国产99久久精品一区二区 | 亚洲精品在线免费 | 国产不卡在线观看视频 | 精品久久久久久久久久 | 97玖玖 | 成人视品| 国产一区二区三区在线电影 | 婷婷色在线视频 | 日本黄大片影院一区二区 | 欧美一级电影视频 | 波多野结衣a∨免费观看 | 在线免费观看网址 | 免费看国产片在线观看 | 色综合久久亚洲国产日韩 | 亚洲视频在线观看免费视频 | 国产精品久久久久一区二区三区 | 4hu四虎永久免在线视看 | 日韩精品一区二区三区不卡 | 爱婷婷网站在线观看 | 欧美video| 2018天天干夜夜操 | 久久香蕉国产线熟妇人妻 | 粉嫩粉嫩一区二区三区在线播放 |