问题描述

之前标注好的文件,标注有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问题排查:打不开标注好的图像的更多相关文章

  1. HTML label标签的一点理解

    label标签为input元素定义标注. label元素不呈现任何特殊效果.不过他为鼠标用户改进了可用性.如果你在label元素内点击文本就会触发此控件.就是说当用户选择该标签是,浏览器就会自动的将焦 ...

  2. label、input、table标签

    <label>标签 <form> <label for="male">Male</label> <input type=&qu ...

  3. HTML <label> 标签

    定义:<label> 标签为 input 元素定义标注(标记). 用法: label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本, ...

  4. 转:label标签的特殊用法

    容易被忽略的label标签 原始作用 label标签是HTML原生的标签,其原始的作用参考这里 label 标签为 input 元素定义标注(标记). label 元素不会向用户呈现任何特殊效果.不过 ...

  5. html之label标签

    label标签为input元素定义标注,label标签与相关元素通过id属性绑定在一起. 相关属性: for:规定label绑定到哪个表单元素 form:规定label字段所属的一个或多个表单 示例代 ...

  6. HTML:form表单总结,input,select,option,textarea,label

    <form>标签是块级元素. form标签的标准属性有id,class,style,title,lang,xml:lang. 表单能够包含input元素(包含button,checkbox ...

  7. a标签中的label在IE下触发不了a标签的href链接(label标签——解析)

    <a href="http://www.baidu.com/" target="_blank"> <span>百度</span&g ...

  8. html系列教程--input label

    <input> 标签:用于提交用户输入数据的文本框. input属性: 1.checked:用于checkbox,radio等元素,确定是否选中,true/false 2.disabled ...

  9. label 标签

    <label> 标签为 input 元素定义标注内容 label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发此控件.就是 ...

随机推荐

  1. codeforces标签设置【codeforces内操作, 非浏览器操作】

    直接干货~ 明确需求,关闭标签 步骤: 1.选中上方PROBLEM SET 2.找到Settings  第一个选项是展示未accepted的标签, 第二个选项是隐藏已accepted的标签 官方标签设 ...

  2. python中常用内置函数和关键词

    Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...

  3. 组合式应用新利器?SaaS新时代事件网格如何解决集成标准化问题

    摘要:组合式应用需要面临的一个难题是如何解决各个应用之间的集成标准问题,比如应用可能仅支持HTTP.TCP等协议中的一种,而缺乏统一的通讯标准就给业务落地该架构带来了困难.下面介绍事件网格(Event ...

  4. VulnHub-Earth 打靶记录

    目录 VulnHub-Earth 打靶记录 知识点 目标探测 信息收集 Shell反弹&信息二次收集 提权 权限维持 VulnHub-Earth 打靶记录 搭建靶场的时候一定要使用NATser ...

  5. MySQL Router重装后重新连接集群进行引导出现的——此主机中之前已配置过的问题

    问题出现的前因: 因为重新安装了MySQL Router,然后打算重新连接上目标集群进行MySQL Router的初始化引导,结果报错了! [root@linux666 system]# mysqlr ...

  6. BootstrapBlazor实战 Menu 导航菜单使用(1)

    实战BootstrapBlazorMenu 导航菜单的使用, 以及整合Freesql orm快速制作菜单项数据库后台维护页面 demo演示的是Sqlite驱动,FreeSql支持多种数据库,MySql ...

  7. 记一次 PHP 省市县三级联动 数据库取值

    /** * Notes:省市县三级联动 * Created by depressiom * Date: 2022年4月14日 */ public function getCityData(){ //获 ...

  8. Django安装+创建一个Django项目

    安装 选用pycharm    在终端输入命令:pip install django 安装完成后创建项目 1.在你想创建项目的目录下输入下面的代码 2.django-admin startprojec ...

  9. vue - vue基础/vue核心内容(终结篇)

    今天是vue基础.vue核心内容第三天,也是最后一天,后面开始进入组件化学习,整个基础内容以生命周期的结束而结束,不得不说,张天禹把这节课讲活了,开始觉得vue是一个有生命的东西,包括前面所说的很多脏 ...

  10. 大白话详解HTTPS!

    开源Linux 回复"读书",挑选书籍资料~ 我相信大家面试的时候对于 HTTPS 这个问题一定不会陌生,可能你只能简单的说一下与 HTTP 的区别,但是真正的原理是否很清楚呢?他 ...