
まくまく
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で動画として保存されるという流れです。