Optical position recognition for the game of Go
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
src
tests @ 829bdde
.gitignore
.gitmodules
.travis.yml
LICENSE
README.md
image.jpg
imago
imago-camera
imago-timer
makefile
pcf.c
process_go_video.py
requirements.txt
runtests
unit-tests

README.md

Imago Go Image Recognition

Build Status Documentation Status

http://tomasm.cz/imago

There is also an experimantal Haskell version of Imago.

Requirements

  • 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

Installation

Run make in this directory.

Usage

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.

Tests

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".

Contributors

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