前提・実現したいこと
Python, OpenCVを用いてキャプチャした動画に対して、リアルタイムで物体認識して、認識結果を画像に表示しながら動画として再生した時のFPSを計測したいのですがどのように実装すればいいでしょうか?
認識結果を表示しながら再生した動画を保存し、その保存した動画をまたキャプチャーしてframe_rate = int(cap.get(5))
すれば取れそうな気もしますが、できれば1ファイル1実行で計測したいです。
もし、他に方法がない場合は、認識結果を重畳した動画を保存する書き方を知りたいです。
該当のソースコード
python
1import cv2 2import time 3 4cap = cv2.VideoCapture("sample.mp4") 5 6frame_count = int(cap.get(7)) 7frame_rate = int(cap.get(5)) 8 9# 1フレーム毎に物体認識をする 10for i in range(frame_count): 11 is_read, frame = cap.read() 12 image_np = frame 13 # 処理に時間がかかる処理(物体認識) 14 hogehoge() 15 cv2.imshow("player", image_np) 16 if cv2.waitKey(1) == 27: 17 break 18cap.release() 19cv2.destroyAllWindows()
試したこと
frame_rate = int(cap.get(5))
でキャプチャした動画そのもののFPSは取得出来ます。
補足情報(FW/ツールのバージョンなど)
Python 3.5.5
Opencv 3.4.1

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。