Skip to main content

An package that converts digial chessboard image into Forsyth-Edwards notation

Project description

board_to_fen

Python package that converts digital chessboard image into Forsyth-Edwards notation (FEN) notation

Downloads License: MIT PyPI GitHub last commit

Installation

board_to_fen is available on PyPI:

$ pip3 install board_to_fen

Quick Start

from board_to_fen.predict import get_fen_from_image

print(get_fen_from_image(PATH_TO_CHESSBOARD_IMAGE))

Note: The package uses tensorflow+keras and python-opencv API. They are pretty heavy.

Customization

get_fen_from_image takes has 3 arguments:

  • image_path [required]
  • end_of_row '/' by default
  • black_view False by default -> set True if chessboard is provided from black player perspective

Web version (currently may not work)

Available at: https://board2fen.bieda.it

Training

For training You would probably want to download the source code by cloning the repository:

$ git clone https://github.com/mcdominik/board_to_fen.git

Download training data from:
I will supply url for data in the future

In the main repository dir, run

$ python3 ./board_to_fen/train_model.py

Version history

  • january 2023
    • versions 0.0.17-25
    • added simple board validation
    • bug fixes

Warnings

  • Image has to be provided in neutral angle (white or black player's perspective).
  • Image has to be square (~3% tolerance depending on image resolution).
  • Image can't contain paddings, board borders etc. other than 64 squares (with pieces) itself.

References:

https://www.kaggle.com/datasets/koryakinp/chess-positions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

board_to_fen-0.1.1.tar.gz (22.9 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page