Python OpenCVを使った動画の読み込みと表示

PythonでOpenCVを使った動画の読み込みとそれを表示をするプログラムを紹介します。

読み込んで表示した動画はPexelsの動画を使わさせてもらいました。

目次

・読み込んだ動画を表示した様子

・読み込んだ動画を表示するプログラム

読み込んだ動画を表示した様子

読み込んだ動画を表示するプログラム

プログラムの説明をします。

まず4行目cv2.VideoCapture()を使って指定した動画を読み込み変数mvに動画データを入れています。読み込む動画の配置はこのプログラムを実行する同じ場所に配置します。

5行目int(mv.get(cv2.CAP_PROP_FRAME_COUNT))で読み込んだ動画を1枚1枚の画像にしたきの総枚数を調べています。そして、調べた総枚数を変数frame_countに入れています。このときにint型にしないとエラーがでます。

9行目から13行目は調べた総枚数をfor文で繰り返していき、mv.read()1画像(1フレーム)ずつ取り出して、表示する画像サイズをcv2.resize(frame,(600,400))で調整してから、cv2.imshow(‘movie’, frame)で表示しています。
10行目のmv.read()で1画像(1フレーム)ずつ取り出す際に下のif文で取り出せたかどうかの確認をしています。取り出せすことができたら表示し、取り出せなかったら表示しないプログラムにしています。

15行目から17行目cv2.waitKey(1)で取り出した画像を1ミリ秒表示するようにして、if k==27:とbreakでキーボードのESCキーを押したら動画の表示をしないようにしています。

最後の19、20行目は動画の表示が終われば、表示を終了してウインドウ(表示画面)を閉じるようにしています。