label问题排查:打不开标注好的图像
问题描述
之前标注好的文件,标注有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问题排查:打不开标注好的图像的更多相关文章
- HTML   label标签的一点理解
		label标签为input元素定义标注. label元素不呈现任何特殊效果.不过他为鼠标用户改进了可用性.如果你在label元素内点击文本就会触发此控件.就是说当用户选择该标签是,浏览器就会自动的将焦 ... 
- label、input、table标签
		<label>标签 <form> <label for="male">Male</label> <input type=&qu ... 
- HTML <label> 标签
		定义:<label> 标签为 input 元素定义标注(标记). 用法: label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本, ... 
- 转:label标签的特殊用法
		容易被忽略的label标签 原始作用 label标签是HTML原生的标签,其原始的作用参考这里 label 标签为 input 元素定义标注(标记). label 元素不会向用户呈现任何特殊效果.不过 ... 
- html之label标签
		label标签为input元素定义标注,label标签与相关元素通过id属性绑定在一起. 相关属性: for:规定label绑定到哪个表单元素 form:规定label字段所属的一个或多个表单 示例代 ... 
- HTML:form表单总结,input,select,option,textarea,label
		<form>标签是块级元素. form标签的标准属性有id,class,style,title,lang,xml:lang. 表单能够包含input元素(包含button,checkbox ... 
- a标签中的label在IE下触发不了a标签的href链接(label标签——解析)
		<a href="http://www.baidu.com/" target="_blank"> <span>百度</span&g ... 
- html系列教程--input label
		<input> 标签:用于提交用户输入数据的文本框. input属性: 1.checked:用于checkbox,radio等元素,确定是否选中,true/false 2.disabled ... 
- label 标签
		<label> 标签为 input 元素定义标注内容 label 元素不会向用户呈现任何特殊效果.不过,它为鼠标用户改进了可用性.如果您在 label 元素内点击文本,就会触发此控件.就是 ... 
随机推荐
- python黑帽子(第三章)
			Windows/Linux下包的嗅探 根据os.name判断操作系统 下面是os的源码 posix是Linux nt是Windows 在windows中需要管理员权限.linux中需要root权限 因 ... 
- css兼容问题集锦
			BEGIN; 1.文本框很大,导致里面的内容不居中.以及内容为数字时,不支持text-indent属性 解:line-height: K px; (值为文本框的height值). 2.文本框有背景图片 ... 
- python 多进程共享全局变量之Manager()
			Manager支持的类型有list,dict,Namespace,Lock,RLock,Semaphore,BoundedSemaphore,Condition,Event,Queue,Value和A ... 
- 树莓派开发笔记(十三):入手研华ADVANTECH工控树莓派UNO-220套件(二):安装rtc等驱动
			前言 前面运行了系统,本篇是安装对应套装的驱动,使rtc等外设生效,树莓派本身是不带rtc外设的. UNO-220-P4N1AE 驱动下载 官方下载:https://www.advan ... 
- 【VMware】在移动硬盘或U盘中安装便携linux系统
			背景: 操作系统课需要在Linux环境下进行编程.本来是给了个傻瓜式的Ubuntu虚拟机镜像,但奈何虚拟机这东西我这老本子跑起来巨卡,装双系统又卡,只能选择把系统装进便携设备里了. 前期准备: 一个2 ... 
- PHP 运行 mkdir() Permission Denied 的原因
			使用lamp,在上传文件时,PHP执行 mkdir($path) , 出现没有权限的错误. 解决: 本次使用的时yii框架,所以首先确保 是apache的用户对web目录有权限,然后再给此用户加 r ... 
- Win10搭建Jenkins部署Java项目(本机和远程Win10部署)
			目录 一.前言&背景 二.环境准备 三.插件安装 四.全局配置 Maven JDK Git Maven 五.新建项目并配置 新建项目 配置 1.Discard old builds 2.Thi ... 
- RabbitMQ 3.9( 基础 )
			1.认识MQ 1.1.什么是MQ? MQ全称:message queue 即 消息队列 这个队列遵循的原则:FIFO 即 先进先出 队列里面存的就是message 1.2.为什么要用MQ? 1.2.1 ... 
- Mockito+Junit5单元测试
			参考: https://segmentfault.com/a/1190000006746409 https://waylau.com/mockito-quick-start/ 1.引入依赖 下面这个最 ... 
- [ Module ] 环境变量管理工具 Module 安装和使用
			https://www.cnblogs.com/yeungchie/ 1. 工具下载 手动下载 modules-5.1.0 点击下载 wget 下载 wget https://jaist.dl.sou ... 
