【OpenCV,Python】動画のフレームレート,フレーム数を求める

import cv2
import time

if __name__ == '__main__':

    # ビデオの読み込み(VideoCapture()に動画ファイルを指定したパターン)
    video = cv2.VideoCapture("test.MOV")

    # OpenCVのバージョン
    (major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')

    if int(major_ver) < 3:
        fps = video.get(cv2.cv.CV_CAP_PROP_FPS)
        print("1秒あたりのフレーム数(cv2.cv.CV_CAP_PROP_FPS):{0}".format(fps))
    else:
        fps = video.get(cv2.CAP_PROP_FPS)
        print("1秒あたりのフレーム数(cv2.CAP_PROP_FPS) :{0}".format(fps))

    # キャプチャするフレームの数
    num_frames = 120

    print("取得したフレーム数は{0}".format(num_frames))

    # スタート時間
    start = time.time()

    # 取得
    for i in range(0, num_frames):
        ret, frame = video.read()

    # 終了時間
    end = time.time()

    # 経過時間
    seconds = end - start
    print("経過時間:{0}".format(seconds))

    # フレーム数の見積もり
    fps = num_frames / seconds
    print("1秒間におけるフレーム数の見積もり:{0}".format(fps))

    # 終わり
    video.release()

OpenCVとPythonで動画ファイルのフレームレート,フレーム数を求めるプログラムです。

Webカメラを使いたいなら、

video = cv2.VideoCapture(0)

となります。

あとは、プログラムのコメントに書いてある通りです。

参考:https://www.learnopencv.com/how-to-find-frame-rate-or-frames-per-second-fps-in-opencv-python-cpp/

物体・画像認識と時系列データ