どうぶつしょうぎの盤面認識アプリを作る (1) 準備編
(1) 準備編
(2) 勉強編
(3) 盤面の正規化
(4) 駒の認識
会社の人たちと一泊二日の開発合宿@伊東温泉をすることになりました。
この機会に初めての画像認識にチャレンジしてみようと思います。
2日間で作りきる自信が全く無いので、この記事は前日夜にこそこそ準備しながら書いています。
作りたいもの
4 種類の駒と 4 * 3 の盤面で遊べる、将棋の簡易版です。やりこめばやりこむほど強くなる、見かけによらず奥が深い(本当に)ゲームです。
このゲーム、解析の結果後手必勝であることが分かっており、論文や任意の有効盤面から必勝手筋(負けの場合は最長手筋)を出力するプログラムが公開されています。
今回は、盤面を撮影した画像から、必勝手筋を出力する チートツール を作ってみたいと思います。
使う予定のもの
- Mac OS X Yosemite 10.10.4
- OpenCV 3
- Python 3.4.3
- どうぶつしょうぎ解析ツール
OpenCV のインストール
こちらの記事どおりにインストールを進めていきます。
$ pip install numpy --with-python3
ではオプションが無いと怒られたので、$ pip3 install numpy
とした$ brew link opencv3 --force
では python から読み込めなかったので、以下を実行$ echo /usr/local/opt/opencv3/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/opencv3.pth
$ echo /usr/local/opt/opencv3/lib/python3.4/site-packages >> /usr/local/lib/python3.4/site-packages/opencv3.pth