将scut-seg标签转化成通用coco标签

行人实例分割

import json
import osdef calculate_bounding_rectangle(coordinates):# 提取x和y坐标的列表x_coords = [coord[0] for coord in coordinates]y_coords = [coord[1] for coord in coordinates]# 计算矩形的左上角坐标min_x = min(x_coords)min_y = min(y_coords)# 计算矩形的宽度和高度max_x = max(x_coords)max_y = max(y_coords)width = max_x - min_xheight = max_y - min_yreturn [min_x, min_y, width, height]# scut-seg中的标签
folder_path = r"F:\mcj\AdelaiDet\datasets\dataset-scut\gt_instance\val"
#输出到保存位置
save_path = r"F:\mcj\AdelaiDet\datasets\dataset-scut\gt_instance\person_val_json"
#提取只有行人和骑车人的json文件
for file_name in os.listdir(folder_path):file_path = os.path.join(folder_path, file_name)if file_name.endswith(".json"):flag = Falsewith open(file_path, "r") as load_f:new_dict = json.load(load_f)objects = new_dict['objects']for object in objects :if object['label'] == 'Person' or object['label'] == 'Rider':flag = Trueif flag:target_file = os.path.join(save_path, file_name)with open(target_file,"w") as f:json.dump(new_dict, f)print("step1 finish——提取只有行人和骑车人的json文件")# 构建coco数据json中的字典模板
data = {'categories': [{"id": 1, "name": "person", "color": [128, 0, 0], "supercategory": ""}],'images': [],'annotations': [],'info': "info",'licenses': "licenses"
}
# 图片的标号 从1开始累加
image_id = 1
folder_path = r"F:\mcj\AdelaiDet\datasets\dataset-scut\gt_instance\person_val_json"
save_path = r"F:\mcj\AdelaiDet\datasets\dataset-scut\gt_instance\person_val_json"# 每个标注对象的标号 从1开始累加(文件夹中所有标注对象)
annotation_id = 1
for file_name in os.listdir(folder_path):file_path = os.path.join(folder_path, file_name)image_name = file_name.replace("json", "jpg")temp = {'id': image_id,'width': 720,'height': 576,'file_name': image_name,'license': "",'flickr_url': "",'coco_url': "",'data_captured': ""}data['images'].append(temp)with open(file_path, "r") as load_f:new_dict = json.load(load_f)objects = new_dict['objects']for object in objects:if object['label'] == 'Person' or object['label'] == 'Rider':segmentation = object['polygon']t = []t1 = []for a in segmentation:t.append((a['x'],a['y']))t1.append(a['x'])t1.append(a['y'])rectangle = calculate_bounding_rectangle(t)annotation = {'iscrowd': 0,'id': annotation_id,'image_id': image_id,'category_id': 1,'segmentation': [],'area': 0,'bbox': rectangle}annotation['segmentation'].append(t1)annotation_id += 1data['annotations'].append(annotation)image_id += 1print("step2 finish__转换成coco数据集格式")save_path = r"F:\mcj\AdelaiDet\datasets\dataset-scut\gt_instance\person_val_coco"
target_file = os.path.join(save_path, "val.json")with open(target_file, "w") as f:json.dump(data, f)print("finish-转换成功")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/143682.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++ Qt 学习(六):Qt http 编程

1. http 基础 HTTP 基础教程C Web 框架 drogonoatpp 2. C Qt 用户登录、注册功能实现 login_register.h #pragma once#include <QtWidgets/QDialog> #include "ui_login_register.h" #include <QNetworkReply>class login_register : public QDialog…

开源网安受邀参加网络空间安全合作与发展论坛,为软件开发安全建设献计献策

​11月10日&#xff0c;在广西南宁举办的“2023网络空间安全合作与发展论坛”圆满结束。论坛在中国兵工学会的指导下&#xff0c;以“凝聚网络空间安全学术智慧&#xff0c;赋能数字经济时代四链融合”为主题&#xff0c;邀请了多位专家及企业代表共探讨网络安全发展与数字经济…

《网络协议》05. 网络通信安全 · 密码技术

title: 《网络协议》05. 网络通信安全 密码技术 date: 2022-09-10 15:16:15 updated: 2023-11-12 07:03:52 categories: 学习记录&#xff1a;网络协议 excerpt: 网络通信安全&#xff08;ARP 欺骗&#xff0c;DoS & DDoS&#xff0c;SYN 洪水攻击&#xff0c;LAND 攻击&a…

MVC使用的设计模式

MVC使用的设计模式 一、背景 MVC模式是"Model-View-Controller"的缩写&#xff0c;中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View&#xff0c;或者同时改变两者。只要Controller改变了Model…

计算机、通信及信号处理领域各单位的期刊与会议分级

中国计算机学会推荐国际学术会议和期刊目录-2022 CCF2022分类下载地址 清华大学计算机学科群推荐学术会议和期刊列表&#xff08;TH-CPL-2019&#xff09; TH-CPL2019下载地址 北京大学高能效计算与应用中心A类论文源-2016 CECA分级链接 中国通信学会《信息通信领域高质量科…

程序员的“脸红“代码时刻

身为程序员哪一个瞬间让你最奔溃&#xff1f; 在程序员的世界里&#xff0c;有这样一种特殊的“魔咒”&#xff0c;它不需要任何复杂的咒语&#xff0c;只需一个字母的错误拼写&#xff0c;就能让最硬核的代码战士们红着脸&#xff0c;崩溃地按下退格键。这就是程序员最尴尬的…

5个用于地理空间数据分析的Python包

大家好&#xff0c;地理空间数据分析在城市规划、环境研究、农业和交通等行业中至关重要。不断增长的需求导致Python包在各种地理数据分析要求上的使用增加&#xff0c;例如分析气候模式、研究城市发展或跟踪疾病传播等&#xff0c;评估和选择具有快速处理、修改和可视化能力的…

【Liunx】部署Ansible自动化运维工具

Ansible自动化运维工具 概述安装部署1.通过yum下载Ansible2.对自己做免密配置3.修改ansiable host配置对服务器进行分组4.测试&#xff1a;对所有服务器进行ping命令5.写playbook6.执行我们写的playbook脚本7.验证 概述 ansible是新出现的自动化运维工具&#xff0c;基于Pytho…

Python math 标准库学习总结

math --- 数学函数 该模块提供了对C标准定义的数学函数的访问。 这些函数不适用于复数&#xff1b;如果你需要计算复数&#xff0c;请使用 cmath 模块中的同名函数。将支持计算复数的函数区分开的目的&#xff0c;来自于大多数开发者并不愿意像数学家一样需要学习复数的概念。…

IDEA安装配置SceneBuilder

1、下载 SceneBuilder 地址&#xff1a; Scene Builder - Gluon ​​​​​​​ Scene Builder | JavaFX中文官方网站 选择符合自己系统版本&#xff0c;JAVA版本的下载 2、安装SceneBuilder 执行下载的 SceneBuilder 安装程序&#xff0c;并按照安装向导的指示进行…

Linux内核分析(十四)--内存管理之malloc、free 实现原理

目录 一、引言 二、malloc实现方式 ------>2.1、动态内存分配的系统调用:brk / sbrk ------>2.2、malloc实现思路 ------------>2.2.1、最佳适应法 ------------>2.2.2、最差适应法 ------------>2.2.3、首次适应法 ------------>2.2.4、下一个适应…

701. 二叉搜索树中的插入操作

原题链接&#xff1a;701. 二叉搜索树中的插入操作 思路&#xff1a; 因为是二叉搜索树&#xff0c;我们可以利用这个特性来确定val到底是在那一边的子树&#xff0c;而不是全部遍历二叉搜索树 直接使用递归&#xff0c;如果查询到root为NULL&#xff0c;则直接创建新结点即可…

[linux] 由创建用户开始

用户创建 【添加用户】 方案一&#xff08;自动化添加&#xff09;&#xff1a;adduser <用户名> 后按提示设计密码、全名等 方案二&#xff08;个性化添加&#xff09;&#xff1a;useradd -m <用户名>&#xff0c; 设置密码 passwd <用户名>。当出现切换用…

Feign调用返回值统一处理

因为接口一般有固定的返回格式&#xff0c;有数据、返回码和异常时错误信息。 不做任何处理情况下&#xff0c;需要在调用Feign的业务代码处通过判断返回码来获取数据。这种重复的代码可以抽出来统一处理。 解决方法1 使用自定义Decoder来统一处理&#xff0c;重写Object de…

高防IP可以抵御哪些恶意攻击

高防IP协议可以隐藏用户的站点&#xff0c;使得攻击者无法发现恶意攻击的目标网络资源&#xff0c;从而提高了源站的安全性。能够有效抵御常见的恶意攻击类型ICMPFlood、UDPFlood、 TCPFlood、SYNFlood、ACKFlood等&#xff0c;帮助游戏、金 融、电子商务、互联网、政企等行业抵…

实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原

文/朱季谦 目录一、Elasticdump工具介绍二、Elasticdump工具安装三、Elasticdump工具使用 最近在开发当中做了一些涉及到Elasticsearch映射结构及数据导出导入的工作&#xff0c;怕以后会把这过程忘记&#xff0c;可谓好记性不如烂笔头&#xff0c;故而记录成一篇博文。 玩El…

CCF编程能力等级认证GESP—C++4级—样题1

CCF编程能力等级认证GESP—C4级—样题1 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)第一题 绝对素数第二题 填幻方 参考答案单选题判断题编程题1编程题…

上海某公司医疗实施工程师笔试题

文章目录 一、Oracle数据库基础二、作为一个实施人员&#xff0c;用户如果提出我们软件功能所不具备的需求&#xff0c;你该如何处理&#xff1f;简单列出你可能采取的几种措施三、简答题三、答案1.Oracle数据库基础2.作为一个实施人员&#xff0c;用户如果提出我们软件功能所不…

基于mindspore的大模型llama2-7b---微调/推理

环境信息&#xff1a; 1.mindformers指导链接&#xff1a; https://gitee.com/mindspore/mindformers/blob/dev/docs/model_cards/llama2.md#%E6%A8%A1%E5%9E%8B%E6%9D%83%E9%87%8D%E4%B8%8B%E8%BD%BD%E4%B8%8E%E8%BD%AC%E6%8D%A2 2.镜像&#xff1a;mindformers0.8.0_ms2.2.0…

钉钉统计部门个人请假次数go

前言 最近小组需要统计部门各种请假次数&#xff0c;写了一个方法&#xff0c;第一次实战中用到递归函数&#xff0c;简单记录一下。 效果展示 这些数据不需要返回json&#xff0c;这里这样是为了方便测试。可以通过这些数据完成其它的操作。 功能实现 钉钉服务端调试工具A…