• python实现从一个文件夹下随机抽取一定数量的图片并移动到另一个文件夹


    由于制作训练集和验证集、测试集的需要,我需要从原始数据集中,随机取出(剪切)一定数量的图片。手动挑选毕竟不能保证随机性,且费时费力。故参考了这位博主的方法。

     1 ##深度学习过程中,需要制作训练集和验证集、测试集。
     2 
     3 import os, random, shutil
     4 def moveFile(fileDir):
     5         pathDir = os.listdir(fileDir)    #取图片的原始路径
     6         filenumber=len(pathDir)
     7         rate=0.1    #自定义抽取图片的比例,比方说100张抽10张,那就是0.1
     8         picknumber=int(filenumber*rate) #按照rate比例从文件夹中取一定数量图片
     9         sample = random.sample(pathDir, picknumber)  #随机选取picknumber数量的样本图片
    10         print (sample)
    11         for name in sample:
    12                 shutil.move(fileDir+name, tarDir+name)
    13         return
    14 
    15 if __name__ == '__main__':
    16     fileDir = "./source/"    #源图片文件夹路径
    17     tarDir = './result/'    #移动到新的文件夹路径
    18     moveFile(fileDir)   

    如果是要复制文件可参考以下完整代码

     1 import os, random, shutil
     2 def copyFile(fileDir):
     3         pathDir = os.listdir(fileDir)    #取图片的原始路径
     4         filenumber=len(pathDir)
     5         rate=0.01    #自定义抽取图片的比例,比方说100张抽10张,那就是0.1
     6         picknumber=int(filenumber*rate) #按照rate比例从文件夹中取一定数量图片
     7         sample = random.sample(pathDir, picknumber)  #随机选取picknumber数量的样本图片
     8         print (sample)
     9         for name in sample:
    10                 shutil.copy(fileDir+name, tarDir+name)
    11         return
    12 
    13 if __name__ == '__main__':
    14     fileDir = "./source/"    #源图片文件夹路径
    15     tarDir = './result/'    #移动到新的文件夹路径
    16     copyFile(fileDir)
  • 相关阅读:
    after change the pltask.cfg
    C++ map的基本操作和用法
    const char * char * const 以及char const *
    遇到segmentation fault 错误
    编译和链接通过生成可执行文件,但运行时找不到动态库
    Invalid Issuer
    数据库的相关操作
    Go项目实战:打造高并发日志采集系统(六)
    Go项目实战:打造高并发日志采集系统(五)
    Go项目实战:打造高并发日志采集系统(四)
  • 原文地址:https://www.cnblogs.com/xlpc/p/14015477.html
Copyright © 2020-2023  润新知