-
Notifications
You must be signed in to change notification settings - Fork 0
/
random_split.py
117 lines (107 loc) · 4.71 KB
/
random_split.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import os
import random
import shutil
def moveFile(input1, input2, input3,input4,save1, save2,save3,save4):
pathDir = os.listdir(input1) # 取图片的原始路径
random.seed(1)
filenumber = len(pathDir) # 原文件个数
rate = 0.2# 抽取的验证集的比例,占总数据的多少
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)):
list.append(sample[i].split('.')[0])
print(list)
for flie_name in list:
path_img = os.path.join(input1, flie_name + '.tif')
shutil.move(path_img, save1)
path_lab = os.path.join(input2, flie_name + '.tif')
shutil.move(path_lab, save2)
path_lab = os.path.join(input3, flie_name + '.tif')
shutil.move(path_lab, save3)
path_lab = os.path.join(input4, flie_name + '.tif')
shutil.move(path_lab, save4)
def moveFile2(input1, input2, input3,input4,input5,save1, save2,save3,save4,save5):
pathDir = os.listdir(input1) # 取图片的原始路径
random.seed(1)
filenumber = len(pathDir) # 原文件个数
rate = 0.2# 抽取的验证集的比例,占总数据的多少
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)):
list.append(sample[i].split('.')[0])
print(list)
for flie_name in list:
path_img = os.path.join(input1, flie_name + '.tif')
shutil.move(path_img, save1)
path_lab = os.path.join(input2, flie_name + '.tif')
shutil.move(path_lab, save2)
path_lab = os.path.join(input3, flie_name + '.tif')
shutil.move(path_lab, save3)
path_lab = os.path.join(input4, flie_name + '.tif')
shutil.move(path_lab, save4)
path_lab = os.path.join(input5, flie_name + '.tif')
shutil.move(path_lab, save5)
def moveFile_4(input1, input2, input3,input4,input5,input6,save1, save2,save3,save4,save5,save6):
pathDir = os.listdir(input1) # 取图片的原始路径
random.seed(1)
filenumber = len(pathDir) # 原文件个数
rate = 0.2# 抽取的验证集的比例,占总数据的多少
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)):
list.append(sample[i].split('.')[0])
print(list)
for flie_name in list:
path_img = os.path.join(input1, flie_name + '.tif')
shutil.move(path_img, save1)
path_img = os.path.join(input2, flie_name + '.tif')
shutil.move(path_img, save2)
path_lab = os.path.join(input3, flie_name + '.tif')
shutil.move(path_lab, save3)
path_lab = os.path.join(input4, flie_name + '.tif')
shutil.move(path_lab, save4)
path_lab = os.path.join(input5, flie_name + '.tif')
shutil.move(path_lab, save5)
path_lab = os.path.join(input6, flie_name + '.tif')
shutil.move(path_lab, save6)
def moveFile_3(input1, input2, input3,save1, save2,save3):
pathDir = os.listdir(input1) # 取图片的原始路径
random.seed(1)
filenumber = len(pathDir) # 原文件个数
rate = 0.2# 抽取的验证集的比例,占总数据的多少
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)):
list.append(sample[i].split('.')[0])
print(list)
for flie_name in list:
path_img = os.path.join(input1, flie_name + '.tif')
shutil.move(path_img, save1)
path_lab = os.path.join(input2, flie_name + '.tif')
shutil.move(path_lab, save2)
path_lab = os.path.join(input3, flie_name + '.tif')
shutil.move(path_lab, save3)
if __name__ == '__main__':
input_path1 = r'D:\longJ\SD\train\image'
input_path2 = r'D:\longJ\SD\train\mask'
input_path3 = r'D:\longJ\SD\train\contour'
save_img1 = r'D:\longJ\SD\valid\image'
save_img2 = r'D:\longJ\SD\valid\mask'
save_lab1 = r'D:\longJ\SD\valid\contour'
moveFile_3(input_path1, input_path2,input_path3, save_img1, save_img2,save_lab1)