-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathmake_label.py
55 lines (43 loc) · 1.32 KB
/
make_label.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
import os
# origin_dir = "./CACD2000_crop/"
# des_dir = "./data_train/"
# imgFiles = [file for file in os.listdir(origin_dir)]
origin_dir = "./FG-NET_224/"
des_dir = "./data_FG/"
imgFiles = [file for file in os.listdir(origin_dir)]
def encodeAge(n):
if n<=30:
return 0
elif n<=40:
return 1
elif n<=50:
return 2
else:
return 3
def makeDir():
if not os.path.exists(des_dir):
os.mkdir(des_dir)
for i in range(4):
new_folder = os.path.join(des_dir, format(i, "<01"))
if not os.path.exists(new_folder):
os.mkdir(new_folder)
def moveFiles():
for file in imgFiles:
lst = file.split("_")
age = int(lst[0])
folder = format(encodeAge(age), "<01")
origin_file = os.path.join(origin_dir, file)
des_file = os.path.join(des_dir, folder, file)
os.rename(origin_file, des_file)
def encodeAgeTest(n):
if 14<=n<=30:
return 0
else:
return 1
def moveFiles_test():
for file in imgFiles:
age = int(os.path.basename(file)[4:6])
folder = format(encodeAgeTest(age), "<01")
origin_file = os.path.join(origin_dir, file)
des_file = os.path.join(des_dir, folder, file)
os.rename(origin_file, des_file)