OpenCVを使用してPythonでビデオのフレームの総数を見つける

OpenCVモジュールを使用してPythonでビデオ(動画)ファイルのフレームの総数を見つけてみます。

OpenCVモジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)

■動画(ビデオ)を用意する

OpenCVモジュールを使用してPythonでフレームの総数を見つける前に、フレームの総数を見つけるために動画(ビデオ)を用意します。

今回は「sample.mp4」というmp4形式の動画(ビデオ)ファイルを用意しました。今回用意したものは著作権フリーとなっている動画(ビデオ)です。

保存されている場所は「C:\Users\user\test(フォルダパス)」です。

■OpenCVモジュールを使用してビデオのフレームの総数を見つける

動画(ビデオ)ファイルを用意できましたので、OpenCVモジュールを使用してビデオのフレームの総数を見つけるためのスクリプトを書いていきます。

■コード

import cv2

cap = cv2.VideoCapture(r"C:\Users\user\test\sample.mp4")

totalframecount = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))

print("このビデオの合計フレーム数は:" , totalframecount)

インポートで、cv2(OpenCV)モジュールを呼び出して、動画(ビデオ)ファイルを読み込むために、capという変数を作成し、cv2.VideoCapture()を使います。

次に、totalframecountという変数を作成し、読み込んだ動画(ビデオ)ファイルの総フレーム数をカウントするために、「cap.get(cv2.CAP_PROP_FRAME_COUNT)」と記述します。カウントした数字を、int()で数字の文字列を整数に変換します。

最後に、カウントした総フレーム数をprint関数で出力します。

■実行

今回書いたスクリプトを、「totalnumber_videoframes.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回用意した動画(ビデオ)ファイルの合計フレーム数は「874」という結果が出力されたことを確認できました。

コメント

タイトルとURLをコピーしました