真的原创在这!!!python实用的几个脚本程序(自己在用)拿去学习

一、简介

本文主要是自己近期在做毕业设计(连续手语识别)时候写的几个python脚本,用于处理数据集的。记录一下。

二、 重点

本文撰写采用Windows操作系统,如果是Linux记得修改字符串分割方式及目录层数多加一层

1. 数据集划分训练集与测试集

1.1 数据集为视频帧文件夹(文件夹划分)

trainNum 参数是划分训练集的视频数,即文件夹数,我的划分是9:1,总数是250个视频,那这里就写225。
dirLongNum 参数为你当前原数据集最深的目录层数
举个例子:
F:\data 是我视频帧数据集
在这里插入图片描述
000020是我的一个视频类,里面的事每个视频抽帧后的文件夹,要截止到最后一个文件夹
在这里插入图片描述

def splitTrainAndTestOnDir(rootFileDir, dstDir, trainNum, dirLongNum): # dirLongNum目录结构最长多少
    root_dir = os.walk(rootFileDir)
    # 训练集、测试集的路径,脚本测试用
    # root_train_dir = "F:/pytest/datat/train/"
    root_train_dir = dstDir + "/train/"
    # root_test_dir = "F:/pytest/datat/test/"
    root_test_dir = dstDir + "/test/"
    # 记录训练集个数
    trainFileCount = 0
    # 记录当前某类文件夹名
    lastFileDirName = ""

    # 开始遍历
    for root, dirs, files in root_dir:
        # 组合目录名
        nameFile = os.path.join(root)
        # 拆分成数组 注意修改
        nameArr = nameFile.split("\\")
        # 判定,根据文件夹目录关系:F:\newdata2\000000\P01_s1_00_0_color,判定 类 目录是否更换,即是否到了新的一类,如果到了,清零计数
        if lastFileDirName != str(nameArr[-2]):
            trainFileCount = 0
            # 重新赋值
            lastFileDirName = str(nameArr[-2])
        print(nameArr)
        # 训练集的数量
        if trainFileCount < trainNum:
            # 移动一次,加一
            trainFileCount = trainFileCount + 1
            # 定义训练集路径
            dstTrainPath = r
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值