labelme打开标注好的图像文件报错:error opening file

您所在的位置:网站首页 labelme版本不一样是不是会打不开json labelme打开标注好的图像文件报错:error opening file

labelme打开标注好的图像文件报错:error opening file

2024-07-10 23:47| 来源: 网络整理| 查看: 265

问题描述

之前标注好的文件,标注有bbox和若干points。选择Open Dir打开图像目录,选择Change Output Dir选择json文件所在目录。发现有些图片能正常显示标注后的状态。而有的图片弹窗报错,error opening file且无法显示图像

排查问题

这些图片和标注是从原来不同文件夹移动到现在文件夹的。会不会是这个问题? 经过对比不能打开的图片的json文件,发现其路径不对。json中ImagePath是相对路径,从原来文件夹复制到现有文件夹。label根据json文件中ImagePath指示的图片路径找不到图片,所以报错。 但是发现一些路径不对的json文件也能正常打开图像,再次对比发现,这些能打开的json文件在标注时保存了IamgeData信息。

结论

标注结束后能打开标注后图像的充分条件为:图像对应json文件中ImagePath正确或者json文件保存了ImageData数据

修改

将所有json文件中ImagePath改正确

参考代码 #encoding=utf-8 #author:zhanghay #time:2022/6/28 ''' 目的: json文件中imagePath值不对要改过来 具体不对: 路径不对 逻辑: 读取json 获取imagePath值 整改imagePath值(字典) 字典写入json 其他: 遍历文件夹json文件 ''' import json import os def load_json(json_dir): with open(json_dir, 'r', encoding='utf8') as js: data = json.load(js) js.close() return data def rewrite_imgpath(json_dir,data): imgpath = data['imagePath'] #.split('\\')[-1] imgname=imgpath.split('\\')[-1] rewrie_imgpath=' '+imgname #正确的路径 data['imagePath']=rewrie_imgpath with open(json_dir, "w") as f: json.dump(data, f) f.close() if __name__ == '__main__': for file in os.listdir(" "): #json文件所在文件夹 json_dir=os.path.join(" ",file) #json文件所在文件夹 data=load_json(json_dir) rewrite_imgpath(json_dir=json_dir,data=data)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3