Exemple #1
0
def main():
    args = _get_args()
    setup_console_logging()
    target_path = args.target_path
    if args.ignore_cache:
        shutil.rmtree(target_path)
    _create_processed_dir(target_path)
    cache = {}
    cache_path = os.path.join(target_path, '.squares_cache')
    if not args.ignore_cache:
        try:
            cache = {
                k: True
                for k in [line.strip() for line in open(cache_path)]
            }
        except IOError:
            pass
    source_path = args.source_path
    seed_dirs = _subdirectories(source_path)
    for seed_dir in seed_dirs:
        rotation_dirs = _subdirectories(seed_dir)
        for rotation_dir in rotation_dirs:
            with open(os.path.join(rotation_dir, "board.fen")) as f:
                fen = f.read()
                board = chess.BaseBoard(board_fen=fen)
                for img_path in _images(rotation_dir, cache):
                    img = cv2.imread(img_path)
                    _process(board, img, target_path)
    with open(cache_path, 'w') as f:
        f.write("\n".join(cache.keys()))
def main():
    args = _get_args()
    setup_console_logging()
    dc = DatasetCreator(args.base_path, args.encoding_function, grayscale=args.grayscale, \
                        rotation=args.rotation, sample=args.sample)
    dataset = dc.create_dataset(RawPixelsExtractor(), one_hot=args.one_hot, test_size=args.test_size, \
                      equalize_class_distribution=args.equalize_classes, zca_whiten=args.zca, metadata=_json_args(args))
    dataset.save_file(args.filename)
def main():
    setup_console_logging()
    logger = logging.getLogger(__name__)
    logger.info("Begin camera position recalibration...")
    try:
        recalibrate_camera_position()
    except AssertionError as e:
        logger.error(e)
    else:
        logger.info("Camera position recalibration successful.")
Exemple #4
0
def main():
    setup_console_logging()
    args = _get_args()
    logger = logging.getLogger(__name__)
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    logger.info("connecting to {}".format(SERVER_ADDRESS))
    try:
        sock.connect(SERVER_ADDRESS)
    except socket.error, msg:
        logger.error(msg)
        raise RaspberryTurkError("There was a problem connecting to {}".format(SERVER_ADDRESS))
def main():
    setup_console_logging()
    args = _get_args()
    logger = logging.getLogger(__name__)
    sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    logger.info("connecting to {}".format(SERVER_ADDRESS))
    try:
        sock.connect(SERVER_ADDRESS)
    except socket.error as msg:
        logger.error(msg)
        raise RaspberryTurkError(
            "There was a problem connecting to {}".format(SERVER_ADDRESS))
    try:
        message = args.move
        logger.info("sending {}".format(message))
        sock.sendall(message)
        data = sock.recv(19)
        logger.info(data)
    finally:
        logger.info("closing socket")
        sock.close()
def main():
    args = _get_args()
    setup_console_logging()
    rb = RandomBoard(seed=args.seed)
    _create_collection_folder(args.base_path, rb)
    end = False

    cam = ChessCamera()

    while not end:
        cbf = cam.current_chessboard_frame()
        img = cbf.img.copy()

        for i in range(1, 8):
            mx_pt = int((i / 8.0) * BOARD_SIZE)
            cv2.line(img, (0, mx_pt), (BOARD_SIZE, mx_pt), (255, 255, 255))
            cv2.line(img, (mx_pt, 0), (mx_pt, BOARD_SIZE), (255, 255, 255))

        for i in range(64):
            piece = rb.pieces[i]
            x = (i % 8) * SQUARE_SIZE
            y = BOARD_SIZE - (i / 8) * SQUARE_SIZE - SQUARE_SIZE
            if piece is not None:
                text = str(piece)
                cv2.putText(img, text, (x + 10, y + 20),
                            cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 255, 255), 1,
                            cv2.LINE_AA)

        cv2.imshow(os.path.relpath(__file__), img)
        key = cv2.waitKey(1) & 0xFF
        if key == ord('r'):
            rb.increment()
            _create_collection_folder(args.base_path, rb)
        elif key == ord('c'):
            _capture_chessboard(args.base_path, rb, cbf.img)
        elif key == ord('q'):
            end = True

    cv2.destroyAllWindows()