-
Notifications
You must be signed in to change notification settings - Fork 1
/
trainer.py
58 lines (51 loc) · 1.49 KB
/
trainer.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
import freenect
import cv
import frame_convert
import sys
import random
import string
k = 0
keep_running = True
myAngle = 10
print "Press ESC to exit | \"w\" to tilt sensor up | \"s\" to tilt sensor down | \"p\" to Save Positive images and \"n\" to Save Negative images"
def rand_string(length=5, chr_set=string.ascii_uppercase + string.digits):
output = ''
for n in range(length):
output += random.choice(chr_set)
return output
def display_depth(dev, data, timestamp):
global k
def display_rgb(dev, data, timestamp):
global image
cv.Image = frame_convert.video_cv(data)
#cv.Flip(cv.Image,None,1)
image = cv.Image
cv.ShowImage('Live', cv.Image)
def body(dev,ctx):
if sys.argv < 2:
exit(0);
global keep_running
global myAngle
global k
global image
char_set = string.ascii_uppercase + string.digits
k = (cv.WaitKey(10) & 255)
if k == 27:
print "Exiting..."
keep_running = False
elif chr(k) == 'w' or chr(k) == 'W':
myAngle = myAngle + 5
elif chr(k) == 's' or chr(k) == 'S':
myAngle = myAngle - 5
elif chr(k) == 'p' or chr(k) == 'P':
cv.SaveImage('positive/pos-'+ rand_string(10) + '.jpg',image)
print "Positive image saved"
elif chr(k) == 'n' or chr(k) == 'N':
cv.SaveImage('negative/neg-'+ rand_string(10) + '.jpg',image)
print "Negative image saved"
freenect.set_led(dev,1)
freenect.set_tilt_degs(dev,myAngle)
if not keep_running:
freenect.set_led(dev,0)
raise freenect.Kill
freenect.runloop(video = display_rgb, depth = display_depth, body=body)