最近自训练数据集,拍的视频转换成图片有5000张,我大概需要1000张,手动那是不可能手动的(虽然上次是手动的,啪啪啪打脸),这次数量实在太多,而且手动不能保证完全随机,所以在网上找方法!
感谢:https://blog.csdn.net/weixin_40769885/article/details/82869760
https://blog.csdn.net/Suii_v5/article/details/72730792?locationNum=9&fps=1
对了,我是在win10下用的VSCode运行的代码,从5000张图片中随机取出1000张。话不多说,直接上我亲测过的代码。
import os, random, shutil
def moveFile(fileDir):
pathDir = os.listdir(fileDir) #取图片的原始路径
filenumber=len(pathDir)
#rate=0.1 #自定义抽取图片的比例,比方说100张抽10张,那就是0.1
#picknumber=int(filenumber*rate) #按照rate比例从文件夹中取一定数量图片
picknumber=1000 #直接取1000张
sample = random.sample(pathDir, picknumber) #随机选取picknumber数量的样本图片
print (sample)
for name in sample:
shutil.move(fileDir+name, tarDir+name)
return
if __name__ == '__main__':
fileDir = "C:\\Users\\64222\\Desktop\\mytrain\\JPEGImages\\" #源图片文件夹路径
tarDir = 'C:\\Users\\64222\\Desktop\\mytest\\test_JPEGImages\\' #移动到新的文件夹路径
moveFile(fileDir)