A .NET Core library with functionality to take a simple screenshot of a chessboard to a fully-evaluated position.
- Chessboard extraction from an input image
- Position recognition using a neural network
- Orientation prediction of the board (black- or white-perspective) using a neural network
- Evaluation and move recommendation using the Stockfish engine
The source code can be cloned via GitHub. A NuGet package is planned for the future.
Pre-trained models for the utilized networks can be downloaded from the releases. To allow Chesster to find the models, they will have to be placed inside an asset/
folder in the build folder. Chesster will automatically generate that folder when built, and is also the location where it stores source images and training data.
The full docs can be found here!
Predicting a board from an input image is as easy as calling:
Board board = BoardVision.PredictBoard(imagePath);
From there the position can be evaluated as follows:
Evaluation evaluation = Evaluator.EvaluateWhite<StockfishEngine>(board);
Since it cannot be inferred which player's move it is from the image, the user will have manually evaluate both sides potentially.
Examples are being worked on! Stay tuned!