BETA

OpenCVで入力画像を動画ファイルに書き込みしてみた

投稿日:2019-10-14
最終更新:2019-11-01

OpenCVでカメラからの入力画像を動画ファイルに保存してみた....
使ったツールバージョンは以下

  • MacOS Catalina / python3.5.6 / Opencv3.4.2 / VS code1.38.1

コメント

  • 画像ファイル保存はトライ済みだったので、今回は動画ファイルの保存を試みた
  • ファイル形式は.m4v, .avi......など
  • ソースコードはとてもシンプル
  • ラズパイでも動作可能
  • OpenCVの動体検知と組み合わせで玄関、部屋などの監視カメラで使えそう

概要

  • 動画ファイル書き込み用のオブジェクト生成
  • ファイル形式 : mp4v、フレームレート : 10fps、サイズ : VGA
  • カメラから画像をキャプチャー
  • キャプチャーしたイメージファイルデータを動画ファイルに書き込み

ファイル構成

  • 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()  

これを応用して画像ファイルから動画ファイル作成もできるので、今後トライしてみる

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@主にプログラム技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!