ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

label问题排查:打不开标注好的图像

2022-06-29 23:01:29  阅读:147  来源: 互联网

标签:文件 label json 文件夹 标注 data dir 打不开


问题描述

之前标注好的文件,标注有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)

标签:文件,label,json,文件夹,标注,data,dir,打不开
来源: https://www.cnblogs.com/iamzhanghay/p/16425230.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有