Python: OpenCVを使用して動画を読み込んで、何もせず書き込むの結果、動画の縦横が逆になってしまったので、修正していきます。
- import cv2
- import numpy as np
- cap = cv2.VideoCapture('./img.MOV')
- fps = cap.get(cv2.CAP_PROP_FPS)
- width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
- height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
- fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
- out = cv2.VideoWriter('output.m4v', fourcc, fps, (height, width))
- while True:
- ret, frame = cap.read()
- if ret:
- out.write(np.rot90(frame, 3))
- else:
- break
- cap.release()
- out.release()
(width, height)を(height, width)に変更しました。
また、書き込む際に、out.write(np.rot90(frame, 3))として270度回転しました。
これで、もとの動画とまったく同じ動画が出力できました。