最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2023年03月25日 10:15:04   作者:雪地(>^ω^<)  
這篇文章主要介紹了PPOCRLabel標注的txt格式如何轉換成labelme能修改的json格式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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

PPOCR是個好東西

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

所以寫了下面這個腳本

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

并存儲至json1目錄下:

# -*- coding:utf-8 -*-
# 開發(fā)人員 : csu·攀-_-||
# 開發(fā)時間 : 2021/9/7 0007 10:30
# 文件名稱 : pplable2json.py
# 開發(fā)工具 : 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標注的Label.txt文件,所有的圖片標注都在一個txt里頭,一個圖片一行,文件名和標注內(nèi)容之間用制表符’\t’隔開。

在這里插入圖片描述

labelme標注的json文件格式

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

利津县| 景洪市| 闻喜县| 西林县| 施甸县| 城固县| 朝阳县| 东乡| 孟州市| 湘乡市| 香格里拉县| 长宁县| 百色市| 常宁市| 突泉县| 台中县| 凯里市| 雅安市| 定远县| 额济纳旗| 怀远县| 安溪县| 武穴市| 禹州市| 临城县| 西充县| 乌拉特前旗| 黄大仙区| 南康市| 汪清县| 永清县| 扶沟县| 宕昌县| 荔浦县| 康马县| 惠东县| 大庆市| 南阳市| 天峨县| 巴楚县| 广丰县|