import os
import random
import shutil
def moveFile(input1, input2, save1, save2):
pathDir = os.listdir(input1) # 取图片的原始路径
random.seed(1)
filenumber = len(pathDir) # 原文件个数
rate = 0.3 # 抽取的验证集的比例,占总数据的多少(样本少的话rate可以高一点)
picknumber = int(filenumber * rate) # 按照rate比例从文件夹中取一定数量图片
sample = random.sample(pathDir, picknumber) # 随机选取需要数量的样本图片
print(sample)
list_len = len(sample)
print(list_len)
list = []
for i in range(len(sample)):
# if sample[i].split('.')[-1]== 'jpg':
sample[i]=sample[i][:-4]
print(sample[i])
list.append(sample[i])
print(list)
for flie_name in list:
path_img = os.path.join(input1, flie_name + '.jpg')
shutil.move(path_img, save1)
path_lab = os.path.join(input2, flie_name + '.txt')
shutil.move(path_lab, save2)
if __name__ == '__main__':
input_path1 = 'E:\\datasets\\train\\images'
input_path2 = 'E:\\datasets\\train\\labels'
save_img = 'E:\\datasets\\valid\\images'
save_lab = 'E:\\datasets\\valid\\labels'
if not os.path.exists(save_lab):
os.makedirs(save_lab)
if not os.path.exists(save_img):
os.makedirs(save_img)
moveFile(input_path1, input_path2, save_img, save_lab)
yolo划分训练集验证集
最新推荐文章于 2024-05-23 08:55:28 发布