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/