import os
import shutil
import json
import glob
import time
from tqdm import tqdm
'''
更新JSON文件的imagePath
'''
def Updata(json_path, imgitems):
for ImgPath in tqdm(imgitems):
baseName = os.path.splitext(os.path.basename(ImgPath))[0]
JsonPath = os.path.join(json_path, baseName + ".json")
data = json.load(open(JsonPath))
data['imagePath'] = ImgPath
data['imageData'] = None
jsondata = json.dumps(data, indent=4, separators=(',', ': '))
f = open(JsonPath, 'w')
f.write(jsondata)
f.close()
def Cheak_json(json_path, img_path, checkjson_path=None):
JPGItems = glob.glob(img_path + "\*.jpg")
BMPItems = glob.glob(img_path + "\*.bmp")
PNGItems = glob.glob(img_path + "\*.png")
ImgItems = JPGItems + BMPItems + PNGItems
if checkjson_path == None:
Updata(json_path, ImgItems)
else:
CheckJsons = glob.glob(checkjson_path + "\*.json")
UpdataJson = os.listdir(json_path)
for CheckJson in tqdm(CheckJsons):
JsonBaseName = os.path.basename(CheckJson)
shutil.move(CheckJson, os.path.join(json_path, JsonBaseName))
Updata(json_path, ImgItems)
if __name__ == '__main__':
CheckJson_Path = None
Json_Path = r'C:\work\tea\CY_CHECK_Rectangle\test-1'
Img_Path = r'C:\work\tea\CY_CHECK_Rectangle\test-1'
start = time.time()
Cheak_json(Json_Path, Img_Path)
end = time.time()
print(end - start)
labelme标注文档改变位置后,json内部路径更新
最新推荐文章于 2024-08-13 13:25:54 发布