yolov8的数据集准备(批量修改图片和xml名称))

在准备yolov8数据集时经常会遇到文件名称和标注文件名称乱,需要批量序列化名称方法:
在ultralytics的datasets文件夹下创建rename.py

在这里插入图片描述
将python代码复制到文件中,

import os
import shutil
 
 
def rename_file(path, new_path, xml_path, new_xml):
    # 打开源文件图像
    file = os.listdir(path)
    for i in range(len(file)):
        # 获得图像扩展名
        (name, extent) = os.path.splitext(file[i])
        # 获得图像对应的xml文件
        xml_file = os.path.join(xml_path, name + '.xml')
 
        # 源文件
        src = os.path.join(path, str(file[i]))
        a = 1 + i
        # 对应的xml文件复制到新的路径中,并制定新的名称
        # shutil.copy(xml_file, os.path.join(new_xml, '0' + str(a) + '.xml')) #如果想新生成的名字不是1,2,3,4... 而是01,02,03..  只需要把该行代码解除注释
        shutil.copy(xml_file, os.path.join(new_xml, str(a) + '.xml'))
        # 新图像对应的名字及路径
        # new = os.path.join(new_path, '0' + str(a) + '.jpg')
        new = os.path.join(new_path,  str(a) + '.jpg')
        # 文件重命名,且源文件夹中无文件
        os.rename(src, new)
 
 
if __name__ == "__main__":
    path = r'E:\ML-data\VOCdevkit(new)\VOC2007\img'  #源图片路径
    new_path = r"E:\ML-data\VOCdevkit(new)\VOC2007\JPEGImages"#重命名后图片存储路径
    xml_path = r'E:\ML-data\VOCdevkit(new)\VOC2007\xml'#源图片相对应xml文件路径
    new_xml = r'E:\ML-data\VOCdevkit(new)\VOC2007\Annotations'#重命名后xml存储路径
    rename_file(path, new_path, xml_path, new_xml)

更改代码中new_path、new_path 、xml_path、new_xml 在实际文件夹下的路径。注意,该代码生成图片新名称时,相当于把原来文件夹的图片移到新的文件夹中,原来的文件夹的图片就没了,记得要备份一下再运行代码(xml原文件夹仍然存在,不需要备份)

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值