PythonとOpenCVを用いた笑顔を検出と自動投げ銭

PythonとOpenCVとpyautoguiを使って、Webカメラから自身の表情を検出し、アイドルなどの生配信に投げ銭を自動で行う。

簡単に言うと、笑顔→課金する。

用意するもの

・OpenCVのダウンロード(ディレクトリに注意してください)

・pyautoguiのダウンロード

・Webカメラ

・配信アプリのダウンロード

・お金

こんな感じになりますVer画像
動画Ver

アンドロイドエミュレーターのリンク

PCでshowroomを動かすために必要になってきます。面倒ですがダウンロード必要です。

・PythonとOpenCVを使った笑顔認識

https://qiita.com/fujino-fpu/items/99ce52950f4554fbc17d

このサイトにほとんど完成されたものが乗っています。

もはやこの記事のプログラムコードでほとんど完成です。

すごくわかりやすい。本当にわかりやすい。

smiles= smile_cascade.detectMultiScale(roi_gray,scaleFactor= 1.1, minNeighbors=0, minSize=(20, 20))#笑顔識別

しいて言えばここで笑顔強度指数を変更することができます。minSizeのところをいじっていけば行けます。

これのディレクトリを気を付けてください。

ファイルと同じところにおいておかないとエラーが出てしまいます。笑顔のデータとか入れた者みたいです。間違っていたらすみません。

笑顔判定が出た場合ちょっと処理を加えていきます。

                        if intensityZeroOne > 1.0:
                            fname ="sample_image_{0}.png".format(counter)
                            sc=pyautogui.screenshot()
                            sc.save(fname)
                            counter =counter +1
                            pyautogui.click(1810,750)
                            intensityZeroOne = 1.0 

笑顔判定が出た場合、スクリーンショットを撮影する。投げ銭ボタンをクリックする。という処理を加えます。

整数型のcounter という名前の変数を用意します。スクリーンショットを保存する際に名前かぶりをなくすために必要になります。

sc=pyautogui.screenshot() sc.save(fname) これで完了

クリックの自動化は座標だけ各自で変更したら完了です。

pyautogui.click(投げ銭ボタンの座標を)

動画を見てもらったらわかると思うのですが、お金の減り方が半端ではないです。

笑顔判定を厳しくするか一度笑顔になったらライムラグを作る(sleepなどを入れる)ほうが良いかもしれません。スクリーンショットの枚数が245枚になってしまったのでちょっと考えていったほうが良いのかもしれないです。

わろす

持っているゴールドがなくなったら機能しなくなるのでそこをプログラムで細かく制御するべきなのかどうか、今後気が向いたら作っていきたいです(APIがあればいいのですが)

感想

日向坂は神です。

お金がある程度たまったら押しの配信で実際にプログラムを動かしてみようと思います。

はじめてOpenCVを使ったのですが、いろいろとできることがありそうですね。

なんかくだらないおもちゃを作っていけたらいいなと思います。

今の時代は調べたらすぐにやりたいことが出てくるので本当に便利です。(*ノωノ)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です