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('替换完成')
相关推荐
smchaopiao6 分钟前
Python中字典与列表合并的问题与解决方法
开发语言·python
卡尔特斯16 分钟前
Ultralytics YOLO26 自动对指定标注文件夹区分标注素材脚本与训练脚本
python·openai
2501_9216494925 分钟前
期货 Tick 级数据与基金净值历史数据 API 接口详解
开发语言·后端·python·websocket·金融·区块链
njidf29 分钟前
实战:用Python开发一个简单的区块链
jvm·数据库·python
Rick199335 分钟前
慢SQL优化
数据库·python·sql
gc_22991 小时前
学习python使用Ultralytics的YOLO26进行分割的基本用法
python·分割·ultralytics·yolo26
kronos.荒1 小时前
搜索二维矩阵中的target——二分查找或者二叉搜索树(python)
python·矩阵·二分查找
源码之家1 小时前
计算机毕业设计:基于Python的美食推荐分析系统 Django框架 爬虫 协同过滤推荐算法 可视化 推荐系统 数据分析 大数据(建议收藏)✅
爬虫·python·机器学习·django·flask·课程设计·美食
2301_814590252 小时前
Python深度学习入门:TensorFlow 2.0/Keras实战
jvm·数据库·python
GoCodingInMyWay2 小时前
YOLO-Master 与 YOLO26 开始
yolo