動画の読みこみ

本記事はQrunchからの転載です。


今日はOpenCVでの動画の読み書きを扱います。

動画の読み込み

動画の読み込みは簡単です。

最初に次のように保存されている動画を開きます。

import cv2
v = cv2.VideoCapture("./ex.mp4")

カメラからフレームを取得する場合はデバイスのIDの指定すればよいです。 普通は次のように0を指定すればよいかと思います。

v = cv2.VideoCapture(0)

フレームの読み込みは以下のようにします。

ret, frame = v.read()

フレームが読み込めれば、retにはTrueが入ってきて、フレームが読み込めない状態になるとFalseが入ります。 これを利用すれば、次のようにしてフレームを次々に読み込めます(保存されているファイルを開いている場合には、動画の終わりまでが読み込まれます)。

while True:
    ret, frame = v.read()
    if not ret:
        break

プロパティの取得

動画のフレームの大きさ、FPS、フレーム数は以下のようにして取得できます。

print(v.get(cv2.CAP_PROP_FRAME_WIDTH))
print(v.get(cv2.CAP_PROP_FRAME_HEIGHT)) 
print(v.get(cv2.CAP_PROP_FPS))  
print(v.get(cv2.CAP_PROP_FRAME_COUNT))  

取得できるプロパティは以下に一覧があります。 http://opencv.jp/opencv-2svn/cpp/highgui_reading_and_writing_images_and_video.html

comments powered by Disqus
Hugo で構築されています。
テーマ StackJimmy によって設計されています。