Python按照类划分文件夹

采用的是Cars-196数据集

文件目录

cars:

        -car_ims(里面全是图片)

        -cars_annos.mat(标签文件)

from scipy.io import loadmat
import os
import shutil
basepath = r"D:\A_Datasets\cars"
# get image list
annos = loadmat(os.path.join(basepath, 'cars_annos.mat'),
                squeeze_me=True)['annotations']
kind = 'test'
zeroshot=True
imlbs = []
for entry in annos:
    label = int(entry[5])
    istrain = bool(entry[6])
    if zeroshot:
        istrain = True if (label <= 98) else False
    if (istrain and kind == 'test') or (
            not istrain and kind == 'train'):
        continue
    imlbs.append((
        os.path.join(basepath, entry[0]), label))
imlbs = sorted(imlbs, key=lambda x: x[0])

print(f'Cars-196[{kind}]: Got {len(imlbs)} Images.')
for index in range(len(imlbs)):
    image_path, label = imlbs[index]
    file_name = str(index)
    if kind == "test" :
        new_file_path = os.path.join(basepath, "test",str(label))
    elif kind =="train":
        new_file_path = os.path.join(basepath, "train", str(label))
    if not os.path.exists(new_file_path):
        print("路径 " + new_file_path + " 不存在,正在创建......")
        os.makedirs(new_file_path)
    shutil.copy(image_path, new_file_path)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值