中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式

發布時間:2023-03-25 14:03:19 來源:億速云 閱讀:151 作者:iii 欄目:開發技術

這篇“PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式”文章吧。

    PPOCRLabel標注的txt格式轉換成labelme能修改的json格式

    PPOCR是個好東西

    默認的訓練文件是用自帶的PPOCRLabel標注的,有時候需要用labelme來修改一些東西,比如后期用到的字段提取,就需要加一個參數,PPOCRLabel就沒法做了,只能轉成labelme,并利用group_id這個參數來賦值。

    所以寫了下面這個腳本

    Label.txt每一行對應一個圖片標注,該腳本作用是將PPOCRLabel的標注文件Label.txt轉換為一個一個的json文件

    并存儲至json1目錄下:

    # -*- coding:utf-8 -*-
    # 開發人員 : csu·攀-_-||
    # 開發時間 : 2021/9/7 0007 10:30
    # 文件名稱 : pplable2json.py
    # 開發工具 : PyCharm
    # 功能描述 : PPOCRLabel標注的txt格式轉換成labelme能修改的json格式
    
    import os
    import cv2
    import json
    import base64
    
    #轉base64
    def image_to_base64(image_np):
        image = cv2.imencode('.jpg', image_np)[1]
        image_code = str(base64.b64encode(image))[2:-1]
        return image_code
    
    def pp2json(path,savepath):
        with open(os.path.join(path,'Label.txt'),'r',encoding='utf-8') as f:
            for line in f.readlines():
                line = line.strip('\n')  # 去掉列表中每一個元素的換行符
                imgname = line.split('\t')[0].split('/')[1]
                img = cv2.imread(os.path.join(path,imgname))
                H,W,C = img.shape
                items = json.loads(line.split('\t')[1])
                item_shapes = []
                for item in items:
                    item_shapes.append({
                        "label":item['transcription'],
                        "points":item['points'],
                        "group_id": 0,
                        "shape_type": "polygon",
                        "flags": {}
                    })
                new_dict = {
                    "version": "4.5.9",
                    "flags": {},
                    "shapes": item_shapes,
                    "imagePath": imgname,
                    "imageData": image_to_base64(img),
                    "imageHeight": H,
                    "imageWidth": W
                }
                with open(os.path.join(savepath,imgname.split('.')[0] + '.json'), "w",encoding='utf-8') as fw:
                    print(imgname,' succeed!')
                    json.dump(new_dict, fw)
    
    
    if __name__ == '__main__':
        path = r'E:\Projects\OCR-release-2.1\tools\infer\imgs\train_data'
        savepath = r'json1'
        pp2json(path,savepath)

    PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式

    PPOCRLabel標注的Label.txt文件,所有的圖片標注都在一個txt里頭,一個圖片一行,文件名和標注內容之間用制表符’\t’隔開。

    PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式

    labelme標注的json文件格式

    以上就是關于“PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    宁陕县| 景洪市| 延川县| 邢台市| 拜泉县| 馆陶县| 中山市| 永吉县| 息烽县| 宝应县| 昭觉县| 辽阳市| 剑阁县| 清原| 宁德市| 万山特区| 嘉荫县| 嘉鱼县| 泸州市| 海淀区| 青岛市| 开封县| 南乐县| 武陟县| 义乌市| 昆山市| 双鸭山市| 土默特右旗| 莱州市| 家居| 油尖旺区| 始兴县| 南汇区| 英超| 岱山县| 定兴县| 疏勒县| 紫金县| 临猗县| 岐山县| 松桃|