OpenCVでサイコロのでた目の数をカウントする

概要

OpenCVでサイコロのでた目の数をカウントしたくなった。 ボードゲームを少し電子化してよりゲームを面白くするために使いたいと思っている。

実装

条件

サイコロを上から見る場合に限定して実装する。(立体的にみてどの面が上になるのかを判定するのが難しそうだっため)

手順

  • OpenCVで画像からまずサイコロの四角を抜き出してくる。
  • すべてのサイコロに対して以下の処理を行う。
  • 抜き出してきたサイコロ画像の中から丸(サイコロの目)を探して丸の数を数える。
  • 最後に目の数を合計して出力する。

こうなった。 github.com

元の画像 f:id:KYudy:20180128200657j:plain

サイコロが写っている部分だけを抜き出して、目の部分を赤色で示した。 f:id:KYudy:20180128200608j:plain

出た目の数は以下のように印字される。

sum is 10 [6, 4]