快速批量将数据集中选取的指定图片移动到新文件中(详细图文教程_附代码)

本文介绍了在深度学习训练中如何快速批量提取有效数据集。提供了两种方法:一是通过编写代码实现每隔一定帧数提取图片,适用于大量图片;二是手动选择,适合少量图片。这两种方法都利用了os和shutil库,能大大提高数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

💪 专业从事且热爱图像处理,图像处理专栏更新如下👇:
📝《图像去噪》
📝《超分辨率重建》
📝《语义分割》
📝《风格迁移》
📝《目标检测》
📝《图像增强》
📝《模型优化》
📝《模型实战部署》
📝《图像配准融合》
📝《数据集》
📝《高效助手》


在这里插入图片描述

一、需求

在做深度学习训练的时候,自己用视频采集了数据集,后期一帧一帧提取出来,很多帧是重复的,这时候可以只选取某一部分作为训练用的数据集,比如我原始数据集中有80625张图片,如果不借助代码提取,太费人了,这里我总结两种方法快速提取。

二、实现

2.1 脚本批量快速提取

2.1.1 代码

直接用脚本大批量快速提取,比如我的是每隔30帧提取一张图像,代码见下:

import os
import shutil

## 新建目标文件夹
IsExists = os.path.exists('Images\Image_New_INF')    ##在目录中新建一个文件夹
if not IsExists:
    os.makedirs("Images\Image_New_INF")
else:
    print("目录已存在")
new_img_folder = "Images\Image_New_INF"

## 遍历读取文件夹筛选符合标准的图片
dir_path = "Images/INF2022530"       ## 将原始的数据集文件路径加载进来
for root,dirs,files in os.walk(dir_path):
    for file in files:
        num_name = file.rstrip(".jpg")   ## 将图片名末尾的.jpg去掉
        num_name_int = int(num_name)
        if num_name_int % 30 == 0:
            shutil.copy(os.path.join(root, file), new_img_folder)

2.1.2 效果展示

原始的数据集见下:

在这里插入图片描述

提取后的数据集见下:

在这里插入图片描述

以上是针对我自己的数据集提取的方法,大家可以参考我上面提供的代码进行修改,大致原理都是想通的,主要是运用到了osshutil这两个库,提取速度特别快。

2.2 直接拉取法

这种方法简单粗暴,直接下滑到图片文件夹的最底端,单击鼠标左键选中某一列,按着鼠标不放,一直往上拖,直至滑到图片文件夹顶端,松开鼠标左键,按下Ctrl + C(复制),去到新建文件夹中Ctrl + V(粘贴),这样就直接将选定图片提取到新文件夹中了,具体见下。这种方法适合图片数量小的情况,图片数量大了,还是建议使用上面的方法,用脚本直接批量处理。

在这里插入图片描述

在这里插入图片描述

三、总结

以上就是在做深度学习时,快速批量将数据集中选取的指定图片移动到新文件中的方法,希望能帮到你!

感谢您阅读到最后!😊总结不易,多多支持呀🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖

关注公众号「视觉研坊」,获取干货教程、实战案例、技术解答、行业资讯!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

视觉研坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值