OpenCVで動画のFPSを計測する方法

 

こんにちは。のっくんです。

 

今日は画像処理でよく使われる、FPS(Frame Per Second)について勉強したいと思います。

 

以下のサイトにちょうど良い内容が書かれていますので、ベースにしたいと思います。

 

How to find frame rate or frames per second (fps) in OpenCV ( Python / C++ ) ?

 

FPSはその名の通り、1秒間で取得できるフレーム数のことです。

 

この値が大きければ大きいほど、動画がサクサク動くってことです。

 

動画ファイルの場合はFPSを取得することができますが、webカメラやラズパイのカメラで撮影する場合は実際に測ってみないと分かりません。

 

この記事では、Pythonのコードを書いてFPSの計測をしてみようと思います。

計測してみた環境は以下の通り。

  • Python 3.5
  • OpenCV 3.4

 

FPSを求める方法ですが、FPSの定義通りに、

FPS=フレーム数/フレームを取得するのにかかった時間(秒)

 

で求めます。

フレームを取得するのにかかった時間は、

フレームを取得するのにかかった時間 = フレームを取得し終わった時間ーフレームを取得する前の時間

で求めます。

 

 

実行結果は以下の通り。

 

設定値が30FPSなのに対して、計測値は27FPSと少し下回っています。

通信速度と同じで、実測値は下がるみたいです。

 

おわり。