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

指定文件夹随机筛出图像

1

  1. 遍历 G:\Data\train 下所有以数字命名的子文件夹。

  2. 在每个子文件夹的 spoof 目录中,随机抽取 1 张图像(由 images_per_folder=1 控制)。

  3. 将所选图像复制到 H:\copy,并在文件名前加上原子文件夹名作为前缀以防重名。


示例

  • 源目录结构(执行前)

G:\Data\train
├─ 1001
│  └─ spoof
│     ├─ a.jpg
│     ├─ b.jpg
│     └─ c.jpg
├─ 1002
│  └─ spoof
│     ├─ x.png
│     └─ y.png
└─ other_folder   (因非数字命名,将被跳过)
  • 目标目录(执行后)

H:\copy
├─ 1001_b.jpg      ← 从 1001\spoof 随机抽取 b.jpg,并重命名为 1001_b.jpg
├─ 1002_x.png      ← 从 1002\spoof 随机抽取 x.png,并重命名为 1002_x.png

控制台输出示例:

[完成] 从 G:\Data\train\1001\spoof 复制 1 张图片
[完成] 从 G:\Data\train\1002\spoof 复制 1 张图片✅ 所有 spoof 图像复制完成!

1

import os
import shutil
import random# 源数据根目录(train)
source_root = r'G:\Data\train'# 目标目录(你可以改成任意你想要保存的路径)
target_dir = r'H:\copy'# 每个 spoof 文件夹选多少张图
images_per_folder = 1# 确保目标目录存在
os.makedirs(target_dir, exist_ok=True)# 遍历所有数字子文件夹
for subfolder_name in os.listdir(source_root):subfolder_path = os.path.join(source_root, subfolder_name)# 判断是否为数字命名的文件夹if not subfolder_name.isdigit():continuespoof_path = os.path.join(subfolder_path, 'spoof')if not os.path.exists(spoof_path):print(f"[跳过] 未找到 spoof 文件夹: {spoof_path}")continue# 获取所有图像文件(你可以加 .jpg 过滤)image_files = [f for f in os.listdir(spoof_path) if os.path.isfile(os.path.join(spoof_path, f))]if len(image_files) < images_per_folder:print(f"[跳过] 图片不足 {images_per_folder} 张: {spoof_path}")continueselected_images = random.sample(image_files, images_per_folder)for img_name in selected_images:src = os.path.join(spoof_path, img_name)# 防止文件重名,加入文件夹前缀dst = os.path.join(target_dir, f"{subfolder_name}_{img_name}")shutil.copy2(src, dst)print(f"[完成] 从 {spoof_path} 复制 1 张图片")print("\n✅ 所有 spoof 图像复制完成!")

1

相关文章:

  • 卷积神经网络常用结构
  • # 构建和训练一个简单的CBOW词嵌入模型
  • 密码学(1)LWE,RLWE,MLWE的区别和联系
  • 语法长难句
  • 星火燎原:Spark技术如何重塑大数据处理格局
  • 设计模式--工厂模式详解
  • ubuntu系统下部署使用git教程
  • 配置Intel Realsense D405驱动与ROS包
  • mysql数据库查看进程
  • 使用react的ant-design-pro框架写一个地图组件,可以搜索地图,可以点击地图获取点击的位置及经纬度
  • 【Deepseek学习大模型推理】MOONCAKE: A KVCache-centric Architecture 第一部分引言部分
  • springboot集成openfeign
  • How to install cuda-toolkit on Dell XPS 9560 with Linux mint 21
  • 安全邮件系统的Maple实现详解
  • C# 设计原则总结
  • Sci期刊的编辑会对投稿论文进行查重吗?
  • 560. 和为 K 的子数组(java)
  • 熊海CMS Cookie脆弱
  • linux系统调用
  • springmvc入门案例
  • 【社论】上海经济开门红:不偏科、挑大梁
  • 张文宏团队公布广谱抗猴痘药物研发进展,将进入临床审批阶段
  • 厚植民营企业家成长土壤是民营经济高质量发展的关键
  • 秦洪看盘|平淡走势中或将孕育主旋律
  • 舞剧《百合花》7月绽放,王安忆:这是送给母亲的一份礼物
  • 中方警告韩国公司不要向美军工企业出口含中国稀土矿物产品?外交部回应