Skip to content


Repository files navigation

Imago Go Image Recognition

Build Status Documentation Status

There is also an experimantal Haskell version of Imago.


  • Python 2.7 (including dev)
  • PIL >= 3.0
  • pygame
  • matplotlib (for generating debug images)
  • openCV (if you want to use a camera, otherwise not needed)
  • for documentation:
    • sphinx
    • sphinx-argparse


Run make in this directory.


Run ./imago image.jpg to extract game position from image.jpg. Run ./imago -m image.jpg to manually select grid position. Run ./imago image000.jpg image001.jpg image002.jpg ... to produce a game record from a sequence of images, one for every move. Use -S option to select SGF output. Run ./imago --help for help and list of all options.


The imago test suite lives in the imago-tests repository, which is a submodule of this repository. Run git submodule init; git submodule update (or clone this repository with git clone --recursive) to get the test data.

To run the tests, build imago and run ./runtests from the root of the working directory.

The runtests program runs imago on each input image and compares the output to the expected. Any discrepancy is a test failure.

Failing tests can be disabled by moving them into a directory named "skip". "skip" directories are by default ignored by the runtests program. Run ./runtests --all to include tests marked "skip".


  • Tomáš Musil (@tomasmcz)
  • Sebastian Kuzminsky (@SebKuzminsky)
  • Nicolas Rochette