Mám v úmyslu napsat program, který by rozpoznával pozice deskové hry Go z fotografií.
Hrát se skutečnými kameny na skutečné desce je mnohem zábevnější, než hrát na počítači. Pokud se hráč chce plně soustředit na hru a zároveň mít partii zaznamenanou, může ji třeba natočit na video, nebo vyfotit klíčové situace. Takový materiál by se snadněji analyzoval, kdyby se dal automaticky zpracovat do některého formátu pro ukládání her (například SGF).
Inspirací co do použitých algoritmů mi byl především článek Extracting Go Game Positions from Photographs. V něm je popsáno jak najít s pomocí Houghovi transformace ve fotografii čtvercovou síť.
Oproti výše zmíněnému článku bych se navíc rád vypořádal i s fotografiemi, na kterých nejsou pod větším množstvím kamenů linky vidět. Také bych rád našel nějaký způsob hledání kamenů, který není závislý na rovnoměrném osvětlení.
Současná pre-alfa verze je napsaná v C#. (Další verze bych raději vyvíjel v kombinaci Pythonu a C.) Umí najít průsečíky a přiřadit barvy kamenům. Funguje ovšem pouze za ideálních podmínek (rovnoměrné osvětlení, málo kamenů). Výstup ve formě obrázků nebo SGF souboru.
| Vstup | Výstup |
![]() | ![]() |