投稿

10月, 2020の投稿を表示しています

ディスクアップの青7を自動認識

イメージ
今回はディスクの青7を自動認識させてみたいと思います。 というのも、スマホ等でカメラを構えると、勝手に人間の顔を認識して追いかけてくれるのを見たときに、 「これってスロットの目押しもできるんじゃない?」 と思ったのがきっかけです。 残念ながら、私にはスマホアプリを作成するスキルはないので、 この記事を元に、 どなたかビタ押しのタイミングを教えてくれるスマホアプリを作成していただけたら感謝感激です。 ということで、早速ディスクの青7を認識させる方法を考えていきます。 本日のアジェンダはこちら。 1. どうやって図柄を認識させるか? 2. カラートラッキングとは 3. 動画とは 4. Pythonでのコーディング 5. 今回作成したコード 6. 結果の確認 1. どうやって図柄を認識させるか? まずは、私たちが普段目押しを行う時に、どの部分に注目しているかを考えてみます。 ディスクアップのリール配列はこちら。 サミーさんのHP から引用 人によって違いはあると思いますが、個人的に一番目につくのは 「色」 ですね。 (リプレイ図柄が水色で色が近いのが気になりますが、 「大きさ」 でフィルタすればなんとかなりそうです。) 今回のように、 「色」 によって物体を追跡することを 「カラートラッキング」 といいます。 2. カラートラッキングとは 「カラートラッキング」は、直訳すると 「色追跡」 となるように、色で物体を追跡する手法です。 コンピュータでは、色を 赤・青・緑 それぞれの数値で定義しています。(光の三原色というやつですね。) 例えば、WindowsのPaintで「色の編集画面」を開くと、R(Red:赤)・G(Green:緑)・B(Blue:青)の値を直接指定して好きな色を作ることができます。 下図のように、R=0・G=0・B=255とすると、「青」の色が作成できます。 実際のカメラの画像では、ホールの明るさやカメラのスペック、撮影方法によって色が変わってくるので、ある程度の幅以内に含まれる色を判定するコードを記載します。 Pythonでは、↓のコードを用いることで、指定した色部分だけを抽出することができます。 色の指定は、RGBの順番でなくBGRの順番であることに注意が必要です。 cv2.inRang