跑模型——labelme的json文件转成yolo使用的txt文件(语义分割)
前言
将labelme多边形标注的json文件转换成yolo使用的txt文件
import os
import json
import numpy as np
from tqdm import tqdm#实现函数
def json2txt(path_json, path_txt): # 可修改生成格式with open(path_json, 'r') as path_json:jsonx = json.load(path_json)with open(path_txt, 'w+') as ftxt:width,height = jsonx['imageWidth'],jsonx['imageHeight']for shape in jsonx['shapes']:label_name = shape['label']label_index = str(classes_name.index(label_name))label = label_index + ' 'xy = np.array(shape['points'])strxy = ''for x, y in xy:x = float(x)/widthy = float(y)/heightstrxy += str(x) + ' ' + str(y) + ' 'label += strxyftxt.writelines(label + "\n")dir_json = 'D:/data_val/phone_1_dai/new/output/' # json存储的文件目录 这里需要在最后加'/'
dir_txt = 'D:/data_val/phone_1_dai/new/txt' # txt存储目录#如果不存在则创建txt存储目录
os.makedirs(dir_txt,exist_ok=True)
list_json = os.listdir(dir_json)#标签名
classes_name = ["_background_", 'phone']pbar = tqdm(total=len(list_json))
error_list=[]
for cnt, json_name in enumerate(list_json):try:# print('cnt=%d,name=%s' % (cnt, json_name))path_json = dir_json + json_namepath_txt = dir_txt +'/'+ json_name.replace('.json', '.txt')json2txt(path_json, path_txt)except Exception as e:# print('cnt=%d,name=%s' % (cnt, json_name))error_list.append({json_name:e})pbar.update(1)for error in error_list:print(error)
print(f"error length={len(error_list)}")
如果有什么不懂的,可以在评论区底下评论哦,我会努力解答的
欢迎大家点赞或收藏,点赞或收藏可以鼓励作者更新哟~
相关文章:

跑模型——labelme的json文件转成yolo使用的txt文件(语义分割)
前言 将labelme多边形标注的json文件转换成yolo使用的txt文件 import os import json import numpy as np from tqdm import tqdm#实现函数 def json2txt(path_json, path_txt): # 可修改生成格式with open(path_json, r) as path_json:jsonx json.load(path_json)with open…...

一个项目仿京东商场代码
git clone http://git.itcast.cn/heimaqianduan/erabbit-uni-app-vue3-ts.git...

计算机网络——WEB服务器编程实验
实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件,并…...

蓝桥杯算法题:最大比例
题目描述: X星球的某个大奖赛设了 M 级奖励。 每个级别的奖金是一个正整数。 并且,相邻的两个级别间的比例是个固定值。 也就是说:所有级别的奖金数构成了一个等比数列。 比如:16,24,36,54,其等比值为:3/2。…...

【堡垒机】堡垒机的介绍
目前,常用的堡垒机有收费和开源两类。 收费的有行云管家、纽盾堡垒机; 开源的有jumpserver; 这几种各有各的优缺点,如何选择,大家可以根据实际场景来判断 什么是堡垒机 堡垒机,即在一个特定的网络环境下&…...

通过 ffmpeg命令行 调节视频播放速度
1. 仅调整视频速率 视频调速原理:修改视频的pts,dts # 可能会丢帧 ffmpeg -i input.mkv -an -filter:v "setpts0.5*PTS" output.mkv # 可用-r参数指定输出视频FPS以防止丢帧 ffmpeg -i input.mkv -an -r 60 -filter:v "setpts2.0*PTS&q…...

SQLite数据库在Linux系统上的使用
SQLite是一个轻量级的数据库解决方案,它是一个嵌入式的数据库管理系统。SQLite的特点是无需独立的服务器进程,可以直接嵌入到使用它的应用程序中。由于其配置简单、支持跨平台、服务器零管理,以及不需要复杂的设置和操作,SQLite非…...

Spring中依赖注入的方法有几种,分别是什么?
依赖注入的目的: 都是为了减少对象之间的紧密耦合 1. 构造函数注入:通过在类的构造函数中接受依赖对象作为参数,Spring在创建对象时将依赖注入。 2. Setter方法注入:在类中提供setter方法,Spring通过调用这些setter方法…...

【面试精讲】MyBatis设计模式及源码分析,MyBatis设计模式实现原理
【面试精讲】MyBatis设计模式及源码分析,MyBatis设计模式实现原理 目录 本文导读 一、MyBatis中运用的设计模式详解 1. 工厂模式(Factory Pattern) 2. 单例模式(Singleton Pattern) 3. 建造者模式(Bu…...

Acrel-1000DP光伏监控系统在尚雷仕(湖北)健康科技有限公司5.98MW分布式光伏10KV并网系统的应用
摘 要:分布式光伏发电特指在用户场地附近建设,运行方式多为自发自用,余电上网,部分项目采用全额上网模式。分布式光伏全额上网的优点是可以充分利用分布式光伏发电系统的发电量,提高分布式光伏发电系统的利用率。发展分…...

电脑远程控制esp32上的LED
1、思路整理 首先esp32需要连接上wifi 然后创建udp socket 接受udp数据 最后解析数据,控制LED 2、micropython代码实现 import network from socket import * from machine import Pin p2Pin(2,Pin.OUT)def do_connect(): #连接wifi wlan network.WLAN(network.…...

ARXML处理 - C#的解析代码(一)
目的 本文介绍通过AUTOSAR组织提供的xsd文件,自动生成对应的C#解析代码的框架。 自动生成方法:Microsoft SDKs\Windows\v7.0A\bin\xsd.exe 命令:xsd.exe AUTOSAR_4-0-3.xsd /c /l:CS /n:AUTOSAR4 AUTOSAR_4-0-3.xsd 是需要生成代码的xsd文…...

OJ 栓奶牛【C】【Python】【二分算法】
题目 算法思路 要求的距离在最近木桩与最远木桩相隔距离到零之间,所以是二分法 先取一个中间值,看按照这个中间值可以栓多少奶牛,再与输入奶牛数比较,如果大于等于,则增大距离,注意这里等于也是增大距离…...

Spring6-单元测试:JUnit
1. 概念 在进行单元测试时,特别是针对使用了Spring框架的应用程序,我们通常需要与Spring容器交互以获取被测试对象及其依赖。传统做法是在每个测试方法中手动创建Spring容器并从中获取所需的Bean。以下面的两行常见代码为例: ApplicationCo…...

ubuntu系统安装k8s1.28精简步骤
目录 一、规划二、环境准备2.1 配置apt仓库配置系统基本软件仓库配置k8s软件仓库安装常用软件包 2.2 修改静态ip、ntp时间同步、主机名、hosts文件、主机免密2.3 内核配置2.4 关闭防火墙、selinux、swap2.5 安装软件安装docker安装containerd安装k8s软件包 三、安装配置k8s3.1 …...

探讨Java和Go语言的缺点
文章目录 Java的缺点Go语言的缺点 通常我们都会讨论Java和GO的优点,如果讨论缺点往往能让人们更清楚优点的重要性,Java和Go的缺点或许往往就是对方优点所在 Java的缺点 冗长的代码:相较于一些现代编程语言,Java 的语法相对冗长&am…...

短剧在线搜索PHP网站源码
源码简介 短剧在线搜索PHP网站源码,自带本地数据库500数据,共有6000短剧视频,与短剧猫一样。 搭建环境 PHP 7.3 Mysql 5.6 安装教程 1.上传源码到网站目录中 2.修改【admin.php】中, $username ‘后台登录账号’; $passwor…...

Python map遍历
在Python中,map 函数是一个内置函数,它将指定的函数应用于给定序列(如列表、元组等)的每个项,并返回一个迭代器,该迭代器包含所有项经过指定函数处理后的结果。 ### map 函数的基本用法 map 函数的语法如…...

数据结构—红黑树
红黑树介绍 红黑树(Red Black Tree)是一种自平衡二叉查找树。由于其自平衡的特性,保证了最坏情形下在 O(logn) 时间复杂度内完成查找、增加、删除等操作,性能表现稳定。 在 JDK 中,TreeMap、TreeSet 以及 JDK1.8 的 …...

MES实施之工控机和电脑的选择
在MES项目实施过程中,经常会碰到工控机和电脑的选型问题,那么他们的区别是什么? 1、控机和普通个人电脑(PC)相比,具有以下几个区别: 1.运行环境不同:工控机通常需要在各种恶劣的工业环境中运行,如高温、高湿、强电磁干扰等,因此需要具有防尘、防水、抗干扰等特点。而…...

京东云服务器4核8G主机租用价格418元一年,1899元3年
京东云轻量云主机4核8G服务器租用价格418元一年,1899元3年,配置为:轻量云主机4C8G-180G SSD系统盘-5M带宽-500G月流量,京东云主机优惠活动 yunfuwuqiba.com/go/jd 可以查看京东云服务器详细配置和精准报价单,活动打开如…...

【多模态融合】MetaBEV 解决传感器故障 3D检测、BEV分割任务
前言 本文介绍多模态融合中,如何解决传感器故障问题;基于激光雷达和相机,融合为BEV特征,实现3D检测和BEV分割,提高系统容错性和稳定性。 会讲解论文整体思路、模型框架、论文核心点、损失函数、实验与测试效果等。 …...

[通俗易懂]《动手学强化学习》学习笔记1-第1章 初探强化学习
文章目录 前言第1章 初探强化学习1.1 简介序贯决策(sequential decision making)任务:强化学习与有监督学习或无监督学习的**区别**:改变未来 1.2 什么是强化学习环境交互与有监督学习的区别1:改变环境 (说…...

centOS如何升级python
centOS下升级python版本的详细步骤 1、可利用linux自带下载工具wget下载,如下所示: 笔者安装的是最小centos系统,所以使用编译命令前,必须安装wget服务,读者如果安装的是界面centos系统,或者使用过编译工具…...

【MYSQL锁】透彻地理解MYSQL锁
🔥作者主页:小林同学的学习笔录 🔥mysql专栏:小林同学的专栏 目录 1.锁 1.1 概述 1.2 全局锁 1.2.1 语法 1.2.1.1 加全局锁 1.2.1.2 数据备份 1.2.1.3 释放锁 1.2.1.4 特点 1.2.1.5 演示 1.3 表级锁 1.3.1 介绍 …...

【静态分析】静态分析笔记01 - Introduction
参考: BV1zE411s77Z [南京大学]-[软件分析]课程学习笔记(一)-introduction_南京大学软件分析笔记-CSDN博客 ------------------------------------------------------------------------------------------------------ 1. program language and static analysis…...

使用的sql
根据CODE去重 SELECT * FROM ( SELECT count( camera_code ) AS count, camera_code FROM n_camera_basic GROUP BY camera_code ) t WHERE t.count >1 DELETE FROM n_camera_basic WHERE camera_id NOT IN (SELECT dt.minno…...

【ZZULIOJ】1052: 数列求和4(Java)
目录 题目描述 输入 输出 样例输入 Copy 样例输出 Copy code 题目描述 输入n和a,求aaaaaa…aa…a(n个a),如当n3,a2时,222222的结果为246 输入 包含两个整数,n和a,含义如上述,你可以假定n和a都是小于10的非负整…...

【Linux】tcpdump P3 - 过滤和组织返回信息
文章目录 基于TCP标志的过滤器格式化 -X/-A额外的详细选项按协议(udp/tcp)过滤低详细输出 -q时间戳选项 本文继续展示帮助你过滤和组织tcpdump返回信息的功能。 基于TCP标志的过滤器 可以根据各种TCP标志来过滤TCP流量。这里是一个基于tcp-ack标志进行过滤的例子。 # tcpdump…...

vscode免费登录ssh ,linux git配置免密码
1、vscode远程ssh免密 在windows下生成密钥 , cmd窗口下执行 ssh-keygen -t rsa 在C:\Users\xxxx\.ssh目录下生成 在linux下面 cd .ssh 创建authorized_keys 文件, 把之前windows下生成的 id_rsa.pub内容复制进去 2、gitlab 配置。 在linux下面 ssh-keygen -t rs…...