前提・実現したいこと
動画を読みこみ,1フレーム目を基準として,各フレームごとにテンプレートマッチングを行っています.
以下のコードのように,最初から最後までのテンプレートマッチングはできたのですが,ある一定間隔で一つのリストを作っていきたいです.
例えば15秒の動画で5秒ずつにわけたいとしたら,15秒でNCC_list1,610秒でNCC_list2,11~15秒でNCC_list3といった風な感じが理想です.
該当のソースコード
python
1#ビデオの読みこみ 2video_path='speed.avi' 3video=cv2.VideoCapture(video_path) 4 5#基準画像の読み込み(動画の1フレーム目) 6ret, template_img=video.read() 7 8#相関関数を入れるリスト作成 9NCC_list=[1] #1フレーム目の相関関数は1なので最初は1 10 11#相関関数を各フレームごとに求める繰り返し文 12while True: 13 ret,target_img=video.read() 14 if ret==True: 15 method=cv2.TM_CCOEFF_NORMED 16 res=cv2.matchTemplate(target_img,template_img,method) 17 min_val, max_val, min_loc, max_loc=cv2.minMaxLoc(res) 18 NCC_list.append(max_val) 19 else: 20 break
試したこと
sleep関数を使うのかなとは思ったのですが,繰り返し処理にどう組み込んだらいいのかがわかりませんでした.
またNCC_listをどんどん増やしていくのが,どうやれば...?といった感じです...
補足情報(FW/ツールのバージョンなど)
anaconda
spyder4
windows10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。