Python OpenCV 動画をリサイズして保存する方法

まくまく
まくまく
OpenCVで読み込んだ動画をリサイズして保存してみようと思います。

サンプルプログラム

#ライブラリのインポート
import cv2

#パラメーター
resize = 2

#VideoCapture オブジェクトを取得
cap = cv2.VideoCapture('movie.mp4')

#動画のプロパティを取得
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
fps = cap.get(cv2.CAP_PROP_FPS)
#書き出し設定
fourcc = cv2.VideoWriter_fourcc('m','p','4','v')
writer = cv2.VideoWriter('movie_resied.mp4',fourcc, fps, (int(width/resize), int(height/resize)))

while True:
    ret, frame = cap.read()
    if not ret:
        break
    frame = cv2.resize(frame,(int(width/resize), int(height/resize)))
    writer.write(frame)

writer.release()
cap.release()

5行目のパラメーター「resize = 2」で2分の1(半分)のサイズにリサイズしています。「resize = 2」では2分の1(半分)、「resize = 4」では4分の1のサイズにリサイズするという意味になります。

実際のリサイズ処理は22行目。動画といっても画像の集まりなので、OpenCVで単体の画像をリサイズするのと同じでOKです。リサイズされた画像がwriterで動画として保存されるという流れです。

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