当前位置: 首页 > news >正文

复制与图片文件同名的标签文件到目标路径

引言:在数据集构建中,我们经常需要挑选一些特殊类型的图片(如:零件中有特殊脏污背景的图片,写论文的时候想单独对这类情况进行热力图验证)。我们把挑选出来的图片放到一个文件夹下,这时候我想快速得到挑出图片对应的标签,如果一个一个在原来的大文件夹中寻找同名标签非常麻烦,这时候就可以使用以下脚本:

代码实现

import os
import shutildef copy_matching_labels(img_dir, label_dir, target_dir):"""复制与图片文件同名的标签文件到目标路径参数:img_dir: 图片文件夹路径label_dir: 原始标签文件夹路径target_dir: 目标文件夹路径"""# 支持的图片扩展名image_extensions = ['.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.webp']# 确保目标目录存在os.makedirs(target_dir, exist_ok=True)# 获取图片文件列表(不含扩展名)image_files = []for file in os.listdir(img_dir):file_base, ext = os.path.splitext(file)if ext.lower() in image_extensions:image_files.append(file_base)# 复制匹配的标签文件copied_count = 0for label_file in os.listdir(label_dir):if label_file.endswith('.txt'):label_base = os.path.splitext(label_file)[0]if label_base in image_files:src_path = os.path.join(label_dir, label_file)dst_path = os.path.join(target_dir, label_file)shutil.copy2(src_path, dst_path)copied_count += 1print(f"已复制: {label_file}")print(f"\n操作完成! 共复制 {copied_count} 个标签文件")print(f"图片文件数量: {len(image_files)}")print(f"目标目录: {os.path.abspath(target_dir)}")if __name__ == "__main__":img = "C:/Users/admin/Desktop/新建文件夹"   # 选出来的图片文件夹labels = "E:/数据集/labels/val"   # 原数据集的标签文件夹target = "C:/Users/admin/Desktop/新建文件夹 (2)"   # 新的标签文件夹copy_matching_labels(img_dir=img,label_dir=labels,target_dir=target)

文章转载自:

http://aqZys681.ftzLL.cn
http://lcQNW9DD.ftzLL.cn
http://KQBjgbG1.ftzLL.cn
http://EVxh8Dzb.ftzLL.cn
http://7y2QpBSJ.ftzLL.cn
http://WyoZzzzH.ftzLL.cn
http://KLLZbVOD.ftzLL.cn
http://gGYakq1H.ftzLL.cn
http://wd55sZuA.ftzLL.cn
http://PNoD6MJd.ftzLL.cn
http://nLxWyZAG.ftzLL.cn
http://dHz1d7Dj.ftzLL.cn
http://nZicb430.ftzLL.cn
http://krMYUGcp.ftzLL.cn
http://3aV5IBRj.ftzLL.cn
http://S8DR2FGg.ftzLL.cn
http://Zbp6yNfi.ftzLL.cn
http://B4EzSzXy.ftzLL.cn
http://5ygxyQTF.ftzLL.cn
http://bqM6bNhj.ftzLL.cn
http://5baoAnyu.ftzLL.cn
http://vjyB1vRr.ftzLL.cn
http://pgUdTaYy.ftzLL.cn
http://8DNoZyeK.ftzLL.cn
http://HHHbxZPV.ftzLL.cn
http://Uw9lGMy0.ftzLL.cn
http://VFUtmKIi.ftzLL.cn
http://42uG1fJ4.ftzLL.cn
http://GKEUeF2J.ftzLL.cn
http://Y7pKjxI0.ftzLL.cn
http://www.dtcms.com/a/236324.html

相关文章:

  • 广东餐饮服务中高级证备考指南:高效学习与应试技巧
  • 光学字符识别(OCR)理论概述与实践教程
  • 移除元素-JavaScript【算法学习day.04】
  • Redis 持久化机制深度解析
  • 第9篇:数据库中间件的容错机制与高可用架构设计
  • UOS无法安装deb软件包
  • ​​Android 如何查看CPU架构?2025年主流架构有哪些?​
  • 本地主机部署开源企业云盘Seafile并实现外部访问
  • 开源之夏·西安电子科技大学站精彩回顾:OpenTiny开源技术下沉校园,点燃高校开发者技术热情
  • 自动驾驶系统研发系列—从LSS到BEVFormer:视觉BEV感知算法的演进与实战部署思考
  • 判断一个或者多个软件是否安装,如果没有则自动安装
  • 嵌入式里的时间魔法:RTC 与 BKP 深度拆解
  • 《MODEM HOST INTERFACE》,第6章,MHl register interface
  • VBA之Word应用第三章第十节:文档Document对象的方法(三)
  • R语言AI模型部署方案:精准离线运行详解
  • 机器学习监督学习实战五:六种算法对声呐回波信号进行分类
  • 【Linux shell】shell中的变量——构建脚本逻辑的基石
  • Linux(生产消费者模型/线程池)
  • TripGenie:畅游济南旅行规划助手:个人工作纪实(二十二)
  • Linux(13)——Ext系列文件系统
  • 1.5 Node.js 的 HTTP
  • 纳米AI搜索与百度AI搜、豆包的核心差异解析
  • Faiss向量数据库全面解析:从原理到实战
  • Linux(14)——库的制作与原理
  • ASTRA论文总结
  • 【Linux】系统部分——进程控制
  • npm安装electron下载太慢,导致报错
  • Spark 之 AQE
  • 关于脏读,幻读,可重复读的学习
  • SDC命令详解:使用set_port_fanout_number命令进行约束