推荐一个好用的数据集处理脚本

前段时间在整理数据集,但是需要先处理一下数据集,批量的修改图片的名字,因此找了一下的代码,这非常好用,分享给大家。

注意事项:转换后,这脚本会把你之前文件夹的内容全删掉。

import osclass BatchRename():    '''    批量重命名文件夹中的图片文件    '''    def __init__(self):        self.path = 'D:/Downloads/cod/鱼数据集/released-dataset/标注/image1'  # 表示需要命名处理的文件夹        self.save_path = 'D:/Downloads/cod/鱼数据集/released-dataset/标注/image'  # 保存重命名后的图片地址    def rename(self):        filelist = os.listdir(self.path)  # 获取文件路径        total_num = len(filelist)  # 获取文件长度(个数)        i = 0  # 表示文件的命名是从200000开始的        for item in filelist:            print(item)            if item.endswith('.jpg'):  # 初始的图片的格式为jpg格式的(或者源文件是png格式及其他格式,后面的转换格式就可以调整为自己需要的格式即可)                src = os.path.join(os.path.abspath(self.path), item)  # 当前文件中图片的地址                dst = os.path.join(os.path.abspath(self.save_path), '' + str(i) + '.jpg')  # 处理后文件的地址和名称,可以自己按照自己的要求改进                try:                    os.rename(src, dst)                    print('converting %s to %s ...' % (src, dst))                    i = i + 1                except:                    continue        print('total %d to rename & converted %d jpgs' % (total_num, i))if __name__ == '__main__':    demo = BatchRename()    demo.rename()

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你可以使用以下脚本来划分COCO数据集: ```python import os import json import random from shutil import copyfile def split_coco_dataset(coco_dir, train_percentage, val_percentage, output_dir): # 创建输出目录 os.makedirs(output_dir, exist_ok=True) # 定义划分百分比 assert train_percentage + val_percentage < 1, "训练集和验证集的百分比之和不能大于1" test_percentage = 1 - train_percentage - val_percentage # 读取COCO数据集的标注文件 annotation_path = os.path.join(coco_dir, 'annotations', 'instances_trainval.json') with open(annotation_path, 'r') as f: coco_data = json.load(f) # 获取图像列表 image_list = coco_data['images'] random.shuffle(image_list) # 计算划分数量 num_images = len(image_list) num_train = int(num_images * train_percentage) num_val = int(num_images * val_percentage) # 划分图像列表 train_images = image_list[:num_train] val_images = image_list[num_train:num_train+num_val] test_images = image_list[num_train+num_val:] # 将图像复制到相应的划分目录中 for image in train_images: src_file = os.path.join(coco_dir, 'train2017', image['file_name']) dst_file = os.path.join(output_dir, 'train', image['file_name']) copyfile(src_file, dst_file) for image in val_images: src_file = os.path.join(coco_dir, 'train2017', image['file_name']) dst_file = os.path.join(output_dir, 'val', image['file_name']) copyfile(src_file, dst_file) for image in test_images: src_file = os.path.join(coco_dir, 'train2017', image['file_name']) dst_file = os.path.join(output_dir, 'test', image['file_name']) copyfile(src_file, dst_file) ``` 你可以调用 `split_coco_dataset` 函数来划分数据集。`coco_dir` 参数是COCO数据集的根目录,`train_percentage` 和 `val_percentage` 是你想要分配给训练集和验证集的百分比,`output_dir` 是划分后的数据集存储目录。确保在运行脚本之前,已经在指定的输出目录中创建了 `train`、`val` 和 `test` 子目录。 请注意,该脚本将仅复制图像文件,而不会处理标注文件。如果你还想要处理标注文件以匹配划分后的图像,请相应地修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

每天都是被迫学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值