您好,登錄后才能下訂單哦!
這篇“PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式”文章吧。
默認的訓練文件是用自帶的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標注的Label.txt文件,所有的圖片標注都在一個txt里頭,一個圖片一行,文件名和標注內容之間用制表符’\t’隔開。
labelme標注的json文件格式
以上就是關于“PPOCRLabel標注的txt格式怎么轉換成labelme能修改的json格式”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。