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 元素内点击文本,就会触发此控件.就是 ...
随机推荐
- TemplatesImpl利用链
FastJson利用链 Fastjson的版本在1.2.22-1.2.24主要有两条链利用TemplatsImpl和JdbcRowSetImpl利用链先来学习TemplatsImpl利用链,这个与前面 ...
- 【vue】$attrs的作用和使用方法
之前一直不了解$attrs的作用和使用场景,然后自己翻阅了相关资料整理了下,如有不对的地方请大家指教 $attrs: $attrs是vue版本2.40以上新增的属性: 使用场景: vue项目里面,大家 ...
- 手把手带你入门ECharts
1.什么是ECharts ECharts,缩写来自Enterprise Charts,商业级数据图表,是来自百度商业前端数据可视化团队EFE的一个开源的纯Javascript的图表库,可以流畅的运行在 ...
- 5 分钟教你快速掌握 GitHub Actions 自动部署博客
自从 GitHub 宣布 GitHub Actions 在平台上对所有开发人员和存储库可用以来,GitHub Actions 越来越受欢迎.很多第三方平台在生态系统中有速度等限制,将进一步推动开发人员 ...
- Bugku CTF练习题---MISC---宽带信息泄露
Bugku CTF练习题---MISC---宽带信息泄露 flag:053700357621 解题步骤: 1.观察题目,下载附件 2.下载到电脑里发现是一个bin文件,二进制文件的一个种类,再看名称为 ...
- OA办公软件篇(三)—审批流
背景 作用 迭代历程 具体实现 写在最后 背景 在前面两篇文章中,我们分别讲了组织架构和权限管理,今天我们来讲一个跟组织架构关系比较密切的功能-审批流. 审批流,通俗来说就是一个完整的审批流程,是 ...
- python中的sort用法
内置的列表类型提供sort的方法 可以根据多项指标给list实例中的元素排序.在默认情况下,sort方法总是按照自然升序排列列表内的元素 #升序排列 list1=[2,3,1,2,5] list1.s ...
- Nginx编译安装及常用命令
一个执着于技术的公众号 前言 前面我们已经了解Nginx基础入门知识,今天就带大家一起学习下Nginx编译安装部署 准备工作 一台linux机器(本次实验以CentOS 7.5为例) 到Nginx官方 ...
- git rename branch
git 不能直接重命名远程分支,如果需要重命名则执行以下步骤操作: 重命名本地分支 删除远程分支 推送本地分支(重命名后的)到远程 额外说明: 1. 重命名后的分支也会保留历史 commit(应该是本 ...
- Java 线程常用操作
继Java线程生命周期继续学习Java线程其他常用操作 线程的常用操作 设置线程名字:setName() 获取线程名称:getName() 线程唯一Id:getId() // 自定义线程名称 Stri ...