【Python】OpenCVで動画を読み込んで再生する

OpenCV×Python 動画を読み込んで 再生する Python

皆さん、こんにちは。

今回は、OpenCVを使って、動画を読み込んで再生してみたいと思います。

OpenCVは画像処理を行うことが一般的ですが、動画も読み込むことが可能です。

OpenCVのインストール

私はAnacondaを使っていますので、Anaconda環境下での設定になります。

Windowsスタートメニューから、「Anaconda Prompt」を検索し、起動。

下記コマンドを入力して、openCVをインストールします。

pip install opencv-python
pip install opencv-contrib-python

インストールが出来ない場合は、pipのアップデートなどをお試しください。

動画を読み込む

サンプル動画はなんでもOKですが、私は下記のサイトから用意しました。

画像認識などに使われているサンプルです。

https://github.com/opencv/opencv/blob/master/samples/data/vtest.avi

ソースコード

動画をダウンロードした後は、JupyterNotebookのファイルと同じフォルダに入れておきます。

その状態であれば、下記のソースコードをコピペするだけで、動画を再生できるはずです。

import cv2

# ファイルのパスを入力
path = 'vtest.avi'
# 動画の読み込み
cap = cv2.VideoCapture(path)

if (cap.isOpened()== False):  
    print("ビデオファイルを開けませんでした。") 

while(cap.isOpened()):

    ret, frame = cap.read()
    if ret == True:

        cv2.imshow("Video", frame)
        # キーボードの「q」で再生を中断
        if cv2.waitKey(5) & 0xFF == ord('q'): 
            break
    
    else:
        break
# 動画を開放する
cap.release()

cv2.destroyAllWindows()

再生すると、このようにウインドウが表示されるはずです。

長い動画を再生した場合、途中で中断したいこともあると思います。

その場合は、キーボードの「q」をクリックすることで安全に閉じることが可能です。

まとめ

この記事では、OpenCVで動画を再生する方法を紹介しました。

最終的には動画編集に応用していきたいですね!