def sendCommands(commands, nonEmptyConditionCommands): global pan, tilt, zoom global frameNo while True: with nonEmptyConditionCommands: nonEmptyConditionCommands.wait() print 'received command' coords = commands.pop() p, t, z = coords ptz_control.setPTZ(p, t, z) log.write("frameNo=" + str(frameNo) + " pan=" + str(p) + " tilt=" + str(t) + "\n") pan, tilt, zoom = p, t, z time.sleep(0.3)
exit() elif event.keycode == 27: stop_moving = False # Initialize viewer root = tk.Tk() root.bind('<Key>', keystroke) root.geometry("%dx%d+0+0" % (640, 480)) root.resizable(False, False) tbk = StreamViewer(root) # Initialize camera pan and tilt pan, tilt = fixed_positions[0] position = 0 zoom = 1 ptz_control.setPTZ(pan, tilt, zoom) # Create dump folder folderName = "dump_" + datetime.datetime.now().strftime("%d_%m_%H_%M") if not os.path.exists(folderName) and save_experiment: os.makedirs(folderName) # Create metadata text file if save_experiment: metadataFile = open(folderName + ".txt", "w") # Create log file log = open("movements.log", "w") # Create deque of images d = deque(maxlen=10)
def keystroke(event): print event.keysym, event.keycode pan, tilt, zoom = ptz_control.getPTZ() if event.keycode == 113: ptz_control.setPTZ(pan - 5, tilt, zoom) elif event.keycode == 114: ptz_control.setPTZ(pan + 5, tilt, zoom) elif event.keycode == 111: ptz_control.setPTZ(pan, tilt - 5, zoom) elif event.keycode == 116: ptz_control.setPTZ(pan, tilt + 5, zoom) elif event.keycode == 38: ptz_control.setPTZ(pan, tilt, zoom + 1) elif event.keycode == 52: ptz_control.setPTZ(pan, tilt, zoom - 1)
def keystroke(event): global pan global tilt global zoom global position global fixed_positions print event.keysym, event.keycode if event.keycode == 57: # key 'n' position = (position + 1) % len(fixed_positions) pan, tilt = fixed_positions[position] ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 33: position = (position - 1) % len(fixed_positions) pan, tilt = fixed_positions[position] ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 10: # key 1 pan = 200 tilt = 58 zoom = 1 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 11: # key 2 pan = 135 tilt = 55 zoom = 1 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 14: # key 5 pan = 300 tilt = 48 zoom = 1 ptz_control.setPTZ(pan, tilt, zoom) if event.keycode == 113: pan = (pan - 5) % 360 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 114: pan = (pan + 5) % 360 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 111: tilt -= 5 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 116: tilt += 5 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 38: zoom += 1 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 52: zoom -= 1 ptz_control.setPTZ(pan, tilt, zoom) elif event.keycode == 9: metadataFile.close() exit(1)
elif event.keycode == 38: ptz_control.setPTZ(pan, tilt, zoom + 1) elif event.keycode == 52: ptz_control.setPTZ(pan, tilt, zoom - 1) root = tk.Tk() root.bind('<Key>', keystroke) root.geometry("%dx%d+0+0" % (640, 480)) root.resizable(False, False) tbk = StreamViewer(root) pan = 0 tilt = 40 ptz_control.setPTZ(pan, tilt, 1) frameNo = 0 for img, imgBase64 in ptz_acq.getFrame(enableViewer=True): frameName = "%04d" % (frameNo,) frameNo += 1 if frameNo % 5 == 0: ptz_control.setPTZ(pan, tilt, 1) signCtrl = random.randint(0,2) sign = 1 if signCtrl == 0: sign = -1 pan = (pan + sign * 10) % 360 img.save("dump/" + frameName + ".jpg")