Python: OpenCVを使用して動画を読み込んで、何もせず書き込む2

Python: OpenCVを使用して動画を読み込んで、何もせず書き込むの結果、動画の縦横が逆になってしまったので、修正していきます。

  1. import cv2
  2. import numpy as np
  3.  
  4. cap = cv2.VideoCapture('./img.MOV')
  5. fps = cap.get(cv2.CAP_PROP_FPS)
  6. width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
  7. height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
  8. fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
  9. out = cv2.VideoWriter('output.m4v', fourcc, fps, (height, width))
  10.  
  11. while True:
  12. ret, frame = cap.read()
  13. if ret:
  14. out.write(np.rot90(frame, 3))
  15. else:
  16. break
  17.  
  18. cap.release()
  19. out.release()

(width, height)を(height, width)に変更しました。
また、書き込む際に、out.write(np.rot90(frame, 3))として270度回転しました。
これで、もとの動画とまったく同じ動画が出力できました。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です