OpenCVで入力画像を動画ファイルに書き込みしてみた
概要
- 動画ファイル書き込み用のオブジェクト生成
- ファイル形式 : mp4v、フレームレート : 10fps、サイズ : VGA
- カメラから画像をキャプチャー
- キャプチャーしたイメージファイルデータを動画ファイルに書き込み
コメント
- 画像ファイル保存はトライ済みだったので、今回は動画ファイルの保存を試みた
- ファイル形式は.m4v, .avi......など
- ソースコードはとてもシンプル
- ラズパイでも動作可能
- OpenCVの動体検知と組み合わせで玄関、部屋などの監視カメラで使えそう
- 使ったツールバージョンは以下
- MacOS Catalina / python3.5.6 / Opencv3.4.2 / VS code1.38.1
ファイル構成
- video_save.py : 動画ファイル保存ソースファイル(下のソースコード)
ソースコード
# coding: utf-8 import cv2 import numpy as np ############################### # VideoCapture用インスタンス生成 ############################### cap = cv2.VideoCapture(0) #動画ファイル書き込み用のオブジェクト生成(mp4v,10fps,VGA) format = cv2.VideoWriter_fourcc('m','p','4','v') fps = 10 size = (640,480) writer = cv2.VideoWriter('video_save.m4v',format,fps,size) ############################### # 画像サイズをVGAサイズに変更する ############################### cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) while True: # カメラから画像データ取得 _,img =cap.read() # Video Save writer.write(img) # 画像表示 cv2.imshow('video_save',img) # ESCキーで終了 k = cv2.waitKey(10) & 0xff if k == 27: break # Do a bit of cleanup print("\n Exit Program") writer.release() cap.release() cv2.destroyAllWindows()
これを応用して画像ファイルから動画ファイル作成もできるので、今後トライしてみる