k = cv2.waitKey(1)

        if k == ord(" ") and not is_flying:
            drone.takeoff()
            logger.info("Takeoff")
            is_flying = not is_flying
        elif k == ord(" ") and is_flying:
            drone.land()
            logger.info("Landing")
            is_flying = not is_flying
        elif k == ord("d") and is_flying:
            drone.event_boom()
            logger.info("Dance")
            time.sleep(3)
        elif k == ord("r"):
            drone.reset()
            logger.info("Reset")
        elif k == ord("s") or k == ord("q"):
            break

        image = freenect.sync_get_video()[0]
        image = cv2.cvtColor(image, cv2.cv.CV_BGR2RGB)

        image_center = (int(image.shape[1] / 2.0), int(image.shape[0] / 2.0))
        target = (int(target_x), int(target_y))
        center = centerFromImage(image, 10, 20)
        tail = centerFromImage(image, 75, 90)

        cv2.line(image, target, tuple(center), (255, 0, 0))
        cv2.circle(image, tuple(center), 3, (0, 0, 255), -1)
        cv2.circle(image, tuple(tail), 3, (255, 0, 0), -1)
Exemple #2
0
        k = cv2.waitKey(1)

        if k == ord(' ') and not is_flying:
            drone.takeoff()
            logger.info("Takeoff")
            is_flying = not is_flying
        elif k == ord(' ') and is_flying:
            drone.land()
            logger.info("Landing")
            is_flying = not is_flying
        elif k == ord('d') and is_flying:
            drone.event_boom()
            logger.info("Dance")
            time.sleep(3)
        elif k == ord('r'):
            drone.reset()
            logger.info("Reset")
        elif k == ord('s') or k == ord('q'):
            break

        image = freenect.sync_get_video()[0]
        image = cv2.cvtColor(image, cv2.cv.CV_BGR2RGB)

        image_center = (int(image.shape[1] / 2.0), int(image.shape[0] / 2.0))
        target = (int(target_x), int(target_y))
        center = centerFromImage(image, 10, 20)
        tail = centerFromImage(image, 75, 90)

        cv2.line(image, target, tuple(center), (255, 0, 0))
        cv2.circle(image, tuple(center), 3, (0, 0, 255), -1)
        cv2.circle(image, tuple(tail), 3, (255, 0, 0), -1)