-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathannotate.py
More file actions
95 lines (88 loc) · 2.45 KB
/
Copy pathannotate.py
File metadata and controls
95 lines (88 loc) · 2.45 KB
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
import os
import glob
from pathlib import Path
import cv2
BASE_PATH = Path(os.environ.get("BASE_PATH", "./"))
frame_files = glob.glob(str(BASE_PATH / "preprocessed/*.png"))
print(f"there are {len(frame_files)} frames")
oframe, frame = None, None
i = 0
flag = False
back = False
while not flag and i < len(frame_files):
# check if the file has already been annotated
if Path(frame_files[i]).with_suffix(".txt").exists() and not back:
i += 1
continue
back = False
print(f"annotating frame {i} of {len(frame_files)}")
frame_file = frame_files[i]
oframe = frame = cv2.imread(frame_file)
while True:
cv2.imshow("preview", frame)
key = cv2.waitKey(1)
if key == ord("z"):
flag = True
break
elif key == ord("0"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("0")
break
# red
elif key == ord("1"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("1")
break
elif key == ord("2"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("2")
break
elif key == ord("3"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("3")
break
elif key == ord("4"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("4")
break
elif key == ord("5"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("5")
break
elif key == ord("6"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("6")
break
# blue
elif key == ord("q"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("7")
break
elif key == ord("w"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("8")
break
elif key == ord("e"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("9")
break
elif key == ord("r"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("10")
break
elif key == ord("t"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("11")
break
elif key == ord("y"):
with open(Path(frame_file).with_suffix(".txt"), "w") as f:
f.write("12")
break
# skip and back
elif key == ord("s"):
break
elif key == ord("d"):
i -= 2
back = True
break
i += 1