Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

hasFrame

ビデオ フレームが読み取り可能かどうかを判別

説明

tf = hasFrame(v) は、ファイルから読み取り可能なビデオ フレームがある場合は logical 1 (true) を返します。その他の場合は logical 0 (false) を返します。

すべて折りたたむ

例のムービー ファイル xylophone.mp4 用の VideoReader オブジェクトを作成します。

v = VideoReader('xylophone.mp4');

ビデオから、1 フレームずつすべてのフレームを読み取ります。

while hasFrame(v)
    frame = readFrame(v);
end

readFrame によって返された最後のフレームに関する情報を表示します。

whos frame
  Name         Size                Bytes  Class    Attributes

  frame      240x320x3            230400  uint8              

サンプル ムービー ファイル xylophone.mp4 の読み取りと再生を行います。

サンプル ファイルからデータを読み取る VideoReader オブジェクトを作成します。次にビデオの幅と高さを決めます。

xyloObj = VideoReader('xylophone.mp4');

vidWidth = xyloObj.Width;
vidHeight = xyloObj.Height;

ムービー構造体配列 mov を作成します。

mov = struct('cdata',zeros(vidHeight,vidWidth,3,'uint8'),...
    'colormap',[]);

ビデオの最後に到達するまでフレームを 1 つずつ読み取ります。

k = 1;
while hasFrame(xyloObj)
    mov(k).cdata = readFrame(xyloObj);
    k = k+1;
end

ビデオの幅と高さに基づいて Figure のサイズを設定します。次に、ビデオのフレーム レートでムービーを 1 回再生します。

hf = figure;
set(hf,'position',[150 150 vidWidth vidHeight]);

movie(hf,mov,1,xyloObj.FrameRate);

入力引数

すべて折りたたむ

入力 VideoReader オブジェクト。関数 VideoReader を使用してビデオ ファイルから VideoReader オブジェクトを作成します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

R2014b で導入