Discuz! Board

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

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

[复制链接]

36万

主题

0

回帖

109万

积分

超级版主

Rank: 8Rank: 8

积分
1090688
发表于 5 天前 | 显示全部楼层 |阅读模式
问题
图片称正常来说格式都是图片+”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-4-21 18:40 , Processed in 0.050168 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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