背景画像からポーズ登録を行うPGMと登録したポーズ画像とカメラ画像を比較して音楽に合わせてポーズ一致率を図るPGMを作成しました
参考にしたサイト Pythonのif文による条件分岐の書き方 | note.nkmk.me opencv - Python で cv2.imshow としても画像が表示されない - スタック・オーバーフロー Pythonでグローバル変数とか無い、正確にはモジュール内変数。だっけ? - When it’s ready. Python, splitでカンマ区切り文字列を分割、空白を削除しリスト化 | note.nkmk.me Python配列のループ処理 - Qiita Pythonのcloseメソッドの使い方を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン Pythonでファイルの読み込み、書き込み(作成・追記) | note.nkmk.me PythonでCSVファイルを読み込み・書き込み(入力・出力) | note.nkmk.me OpenCV 接続したカメラから動画を取得しよう (Python)
使用した音源取得サイト
音源は以下のサイトのものを使用しました
フリーのBGMとゲーム用音楽素材[Wave,MP3]
githubURL:https://github.com/NanjoMiyako/PoseAndMusicGame
サンプルデータはhttps://github.com/NanjoMiyako/PoseAndMusicGameのsampleDataフォルダに置いてあります
ポーズ登録PGM、ポーズ一致度計算PGM両方とも、カメラを使用するため、
実行時にはOS?のpython実行時のカメラ起動をONに設定する必要があります。
背景画像からポーズ登録を行うPGMについて
背景画像からポーズ登録を行うPGMはposeRegist1.pyを実行することで行います。実行時には以下のコマンドライン引数を入力します
引数1:ポーズ画像保存フォルダ
引数2:ポーズエッジ画像保存フォルダ
ポーズ登録はまずポーズ差分取得用の背景画像を登録します。
背景画像はposeRegist1.py実行時に'h'キーを押すことで行います。
得られた背景画像に対して、Diffを行うことで各ポーズの登録を行います。
Diffの実行はposeRegist1.py実行時に'd'キーを押すことで行います。
ポーズ登録時には背景にはなるべく白一色のような、物のない場所でかつ、ポーズ登録対象者の服装は背景の画像より十分に差分のとれるような濃い色の服装のほうがよりしっかりとポーズ登録画像が得られるため推奨です...
登録したポーズに合わせて音楽とポーズの一致率を計算していくPGMについて
登録したポーズに合わせて音楽とポーズの一致率を計算していくPGMはPoseAndMusic.pyを実行することで行います。
実行時には以下のコマンドライン引数を入力します
引数1:ポーズ画像保存フォルダ
引数2:ポーズエッジ画像保存フォルダ
引数3:ポーズフローファイルパス
引数4:再生する音楽ファイルパス
ポーズの流れファイルはcsvで以下のように記述します。
ポーズ名1(拡張子除く),経過時間1(秒)
ポーズ名2(拡張子除く),経過時間2(秒)
...