どうぶつしょうぎの盤面認識アプリを作る (4) 駒の認識
(1) 準備編
(2) 勉強編
(3) 盤面の正規化
(4) 駒の認識
正規化された入力画像から、各駒の位置を取得します。
- 駒 (先手ゾウ) の位置を特定
概略
- 駒の画像を用意する
- テンプレートマッチングで駒の位置を特定する
- 駒が傾いている場合を考慮して、複数の角度でマッチングする
駒画像
テンプレートマッチング
真っ直ぐに置かれている駒については、正しく認識されますが、盤に対して傾いている駒が認識されません。
そこで、-70 度 〜 +70 度の 2 度刻み回転した駒画像生成し、マッチングさせます。
入力画像の歪みが小さければ、これで高い精度でマッチングできるようです。
棋譜データへの変換
取得したデータを別プログラムに流し込むため、文字列データに変換します。
今回の入力画像からは次の配列が得られます。
[['k' '' 'z'] ['l' 'h' ''] ['' 'H' ''] ['Z' 'L' 'K']]