Python——目标检测标签中的英文名转化为对应的类别编号

Yolov5进行目标检测流程在下文中已做说明:

Python------一文详解使用yolov5进行目标检测全流程(无需gpu)_yolo不用gpu-CSDN博客

在Yolov5使用中中,标签数据里类别的中文名,需要转换成类别编号。相关代码如下:

python 复制代码
## 将标签中的英文名转化为对应的类别编号
import os

path = r'./datasets/labels/test1/'  # 转换前txt保存的文件夹
save = r'./datasets/labels/test/'  # 转换后txt保存的文件夹

for item in os.listdir(path):  # 遍历文件夹里的文件
    path_item = os.path.join(path, item)
    path_item2 = os.path.join(save, item)  # 保存的路径
    a = []
    with open(path_item, 'r') as f1, open(path_item2, "a") as f2:
        for line in f1:
            a.append(line)
        print(a)
        for i in a:
            if ' ' in str(i):  # 遍历每一行
                b = str(i)   # 提取第i行
                m = b.split(' ')    # 以空格为分隔符,进行切分
                dic = {'airplane': "0",  # 字典对类型进行转换
                       'airport': "1",
                       'baseballfield': "2",
                       'basketballcourt': "3",
                       'bridge': "4",
                       'chimney': "5",
                       'dam': "6",
                       'Expressway-Service-area': "7",
                       'Expressway-toll-station': "8",
                       'golffield': "9",
                       'groundtrackfield': "10",
                       'harbor': "11",
                       'overpass': "12",
                       'ship': "13",
                       'stadium': "14",
                       'storagetank': "15",
                       'tenniscourt': "16",
                       'trainstation': "17",
                       'vehicle': "18",
                       'windmill': "19",
                       }
                m[0] = dic.get(m[0])  # 对每行的第一个变量(即类别),将其替换成相应的值
                b = ' '.join(m)  # 将列表m重新拼接成一个字符串

                print(b)
                f2.write("%s" % (b))
        print('替换完成')
相关推荐
MediaTea42 分钟前
Python 文件操作:JSON 格式
开发语言·windows·python·json
百锦再1 小时前
金仓数据库提出“三低一平”的迁移理念
开发语言·数据库·后端·python·rust·eclipse·pygame
野生工程师1 小时前
【Python爬虫基础-1】爬虫开发基础
开发语言·爬虫·python
力江1 小时前
攻克维吾尔语识别的技术实践(多语言智能识别系统)
人工智能·python·自然语言处理·语音识别·unicode·维吾尔语
诗句藏于尽头1 小时前
MediaPipe+OpenCV的python实现交互式贪吃蛇小游戏
人工智能·python·opencv
盼哥PyAI实验室2 小时前
Python 正则表达式实战 + 详解:从匹配QQ邮箱到掌握核心语法
python·mysql·正则表达式
木易 士心2 小时前
Android 开发核心技术深度解析
android·开发语言·python
nju_spy2 小时前
力扣每日一题(四)线段树 + 树状数组 + 差分
数据结构·python·算法·leetcode·面试·线段树·笔试
xiaolin03332 小时前
TransReid
目标检测·reid·行人重识别
lzq6032 小时前
Python虚拟环境全指南:venv与conda对比与实践
开发语言·python·conda