OneEye
======
Program to extract moves of a go game from a video and save them to SGF or broadcast them online.
Modules:
* Video: grabbing still frames from a video file / stream. Planning to use FFmpeg.
* Graphic: extracting game position from an image. Using Pillow.
* Watcher: interpreting sequence of game positions as a sequence of moves.
* Broadcaster: interfacing with a go server.
Written for Python 3.4.3. Dependencies: Pillow 2.7.0, NumPy 1.9.2.
Written for Python 3.4.3. Dependencies: Pillow 2.7.0, NumPy 1.9.2. Start gui.py to run.
Graphic
-------
Interpolating the board grid from specified corner points.
@@ -23,12 +24,13 @@ Autodetection of the board?
Watcher
Base case: we have two correctly recognized positions differing by a single move (single added stone). Easy.
Issues:
* illegal positions -> ignorable
* positions unreachable from the previous state
* reachable from any past state. (Incorrect states inbetween). How to pick the correct leaf of such a tree?
* reachable by more than one move. Issues with branching factor.
* board shifts -> repaired manually (or automatically), further positions have to be reevaluated
* stone shifts
Status change: