Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1|回复: 0

看看:Python批量修改YOLO数据集图片和标签称为UUID - 幽络源教程

[复制链接]

38万

主题

0

回帖

116万

积分

超级版主

Rank: 8Rank: 8

积分
1164585
发表于 4 天前 | 显示全部楼层 |阅读模式
问题
图片称正常来说格式都是图片+”jpg”或”png”,但是有的别人分享的数据集称不规范,导致有时处理时,会出现一些莫其妙的问题,比如如下图:

图片的称出现了两个jpg



标签的称出现一个jpg



可能的后果
这种称不规范的图片和文件,在后续处理时,是可能导致一些因为称分隔而出现的错误,比如图片与标签法匹配,后果不堪设想。

处理方式
我这里提供一个将图片与其对应的标签文件重命的脚本,只需要传入图片目录路径和标签目录路径即可批量完成重命为uuid格式的称,代码如下:

importos
importuuid


defrename_images_and_labels(images_dir,labels_dir):
#获取图片和标签文件列表
image_files=sorted(oslistdir(images_dir))

#确保图片和标签文件一一对应
forimage_fileinimage_files:
#确保图片有对应的标签文件
label_file=image_filereplace('jpg','txt')
label_path=ospathjoin(labels_dir,label_file)

ifospathexists(label_path):
#生成仅有的新文件
unique_name=str(uuiduuid4())
new_image_name=unique_name+'jpg'
new_label_name=unique_name+'txt'

#获取完整路径
old_image_path=ospathjoin(images_dir,image_file)
old_label_path=label_path
new_image_path=ospathjoin(images_dir,new_image_name)
new_label_path=ospathjoin(labels_dir,new_label_name)

#重命图片和标签文件
osrename(old_image_path,new_image_path)
osrename(old_label_path,new_label_path)

print(f"Renamed:{image_file}-{new_image_name},{label_file}-{new_label_name}")


#替换为际的images和labels目录路径
images_directory=r"D:\A01PythonProjects3123\labelImg-master\标签文件批量处理\slopev1iyolov8\train\images"#替换为图片目录路径
labels_directory=r"D:\A01PythonProjects3123\labelImg-master\标签文件批量处理\slopev1iyolov8\train\labels"#替换为标签目录路径

#执行重命操作
rename_images_and_labels(images_directory,labels_directory)
如图,我将需要处理的图片和标签所在目录传入了脚本中



执行脚本,结果如下,可以看到图片与其对应的标签都改为了uuid形式的称





结语
以上是幽络源的Python批量修改yolo数据集图片及对应标签的称为uuid的教程,如有不懂之处可加Q群307531422询问



通过一点一滴的努力,让源码网的市场占有率越来越高,得到的投资回报率也稳步攀升。提供经过严格测试的免费源码、各种线上兼职和网络兼职的网创教程、编程及网络相关的技术教程分享,助您轻松获取资源和技术支持。https://www.youluoyuan.com/

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|足球新闻网

GMT+8, 2025-5-3 05:22 , Processed in 0.070244 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表