LoginSignup
0
0

More than 3 years have passed since last update.

2.1.5 動画 画像処理・解析のワークフロー:ストリーミング処理

Posted at

目次へのリンク

MATLABによる画像処理・コンピュータービジョン入門目次

概要

MATLABによる動画処理のワークフローについて紹介します。

動画を逐次読み込みながらストリーミング処理が実現できます。

初期化

code
clear; clc; close all; imtool close all

動画の読み出し、表示、書き出し用オブジェクト

動画の読込み・表示・書出し 用のシステムオブジェクトを定義します。

code
% 動画の読み込み
vidReader = vision.VideoFileReader('tilted_face.avi', 'VideoOutputDataType','uint8'); 

% 表示
vidPlayer = vision.DeployableVideoPlayer;

% 書き出し (FileFormatでMJ2000やMPEG4も選択可能)
vidWriter = vision.VideoFileWriter('tmp_myFile.avi');

顔検出器を定義

code
faceDetector = vision.CascadeObjectDetector();

1フレームずつ順に処理

code
while ~isDone(vidReader)
   I = step(vidReader);       % 1フレーム 読込み

   %
   % ここに各種画像処理・解析 のコードを挿入 −−−−−−−−−
   %
   % 顔検出
   bbox = step(faceDetector, I);
   % 画像に追加
   Iout = insertObjectAnnotation(I,'rectangle',bbox,'Face');

   step(vidPlayer, Iout);        % 1フレーム 表示
   step(vidWriter, Iout);        % 1フレーム 書出し

end

生成したシステムオブジェクトをリリース

code
release(vidReader);
release(vidPlayer);
release(vidWriter);

外部プログラムで動画の表示

code
winopen('tmp_myFile.avi')

image_0.png

まとめ

MATLABによる動画処理のワークフローをご紹介しました。

基本的に1枚ずつ画像を読み出して処理するので静止画の処理と大きくは変わりません。

参考

謝辞

本記事は @eigs さんのlivescript2markdownを使わせていただいてます。

目次へのリンク

MATLABによる画像処理・コンピュータービジョン入門目次

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0