Main Content

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

writeVideo

ビデオ データをファイルに書き込む

説明

writeVideo(v,img)は、配列のデータをvに関連付けられているビデオ ファイルに書き込みます。

writeVideoを呼び出す前にopen(v)を呼び出さなければなりません。

writeVideo(v,frame)は、一般に関数GetFrameで返される 1 つ以上のムービー フレームを書き込みます。

すべて折りたたむ

可逆圧縮を使用して RGB イメージを Motion JPEG 2000 ファイルに書き込みます。

サンプルの静止画peppers.pngからのデータを含む配列を作成します。

A = imread('peppers.png');

新しいビデオ ファイル用にVideoWriterオブジェクトを作成します。'Archival'プロファイルを使用して可逆圧縮の Motion JPEG 2000 ファイルを指定します。

v = VideoWriter(“myFile','Archival');

新しいファイルに使用するビデオ圧縮の種類を確認します。

v.VideoCompressionMethod
ans = 'Motion JPEG 2000'

ビデオ ファイルを書き込み用に開きます。続いてAのイメージ データをファイルに書き込みます。

open(v) writeVideo(v,A)

ビデオ ファイルを閉じます。

close(v)

サンプルのインデックス付きイメージ ファイル玉米からイメージとカラーマップ データを読み取ります。

[X,map] = imread('corn.tif');

新しいインデックス付き AVI ファイル用にVideoWriterオブジェクトを作成します。

v = VideoWriter('myIndexed.avi','索引avi');

vColormapプロパティにカラーマップ データを代入します。

v.Colormap = map;

書き込み用にファイルを開きます。ファイルを開いた後でvのプロパティを変更することはできません。

open(v)

Xのイメージビデオファイル书き込みます。后ををますます。

writeVideo(v,X) close(v)

サンプル ファイルxylophone.mp4を非圧縮 AVI ファイルに変換します。

ビデオの読み書きを行うオブジェクトを作成し、書き込み対象の AVI ファイルを開きます。

reader = VideoReader(“xylophone.mp4”);writer = videoWriter('transcoded_xylophone.avi',...'Uncompressed AVI');writer.FrameRate = reader.FrameRate; open(writer);

各フレームの読み書きを行います。

whilehasFrame(reader) img = readFrame(reader); writeVideo(writer,img);endclose(writer);

フレームのシーケンスを圧縮 AVI ファイルに書き込みます。最初に一連のフレームを生成し、書き込むファイルのビデオ オブジェクトを作成してから、フレームをビデオ ファイルに書き込みます。

ビデオのフレームの生成に使用する座標軸と Figure のプロパティを設定します。

Z = peaks; surf(Z); axistightmanualset(gca,'nextplot','replacechildren');

出力ビデオ ファイルのビデオ ライター オブジェクトを作成し、オブジェクトを書き込み用に開きます。

v = VideoWriter('peaks.avi');open(v);

一連のフレームを生成し、Figure からフレームを取得して、各フレームをファイルに書き込みます。

fork = 1:20 surf(sin(2*pi*k/20)*Z,Z) frame = getframe(gcf); writeVideo(v,frame);end关闭(v);

入力引数

すべて折りたたむ

入力VideoWriterオブジェクト。VideoWriterを使用してオブジェクトを作成します。

グレースケールまたは RGB カラー イメージを表す値。2 次元、3 次元または 4 次元の配列として次のように指定します。

  • 1 つのグレースケール、モノクロまたはインデックス付きイメージの場合、imgは 2 次元 (高さ x 幅) でなければなりません。

  • 1 つのトゥルーカラー RGB イメージの場合、imgは高さ x 幅 x 3 の 3 次元でなければなりません。

  • グレースケール イメージのシーケンスの場合、imgは高さ x 幅 x 1 x フレームの 4 次元でなければなりません。高さと幅は 1 つのファイル内の全フレームで一貫していなければなりません。

  • RGB イメージのシーケンスの場合、imgは高さ x 幅 x 3 x フレームの 4 次元でなければなりません。高さと幅は 1 つのファイル内の全フレームで一貫していなければなりません。

AVI または MPEG-4 ファイルを作成する場合:

  • imgは、1 つ以上のグレースケールまたは RGB カラー イメージを表すsingledoubleまたはuint8値の配列です。writeVideoはこの値を 1 つ以上の RGB ビデオ フレームとして書き込みます。

  • インデックス付き AVI ファイルを書き込む場合を除いて、single型またはdouble型のデータは[0,1]の範囲内でなければなりません。

Motion JPEG 2000 ファイルを作成する場合:

  • imgは、1 つ以上のモノクロまたは RGB カラー イメージを表すuint8int8uint16またはint16値の配列です。

データ型:single|double|int8|int16|uint8|uint16

フレーム データ。1 フレームを表す 1 行 1 列の構造体配列、または複数のフレームを表す 1 行F列の构造配列として指定します。各フレームにcdatacolormapの 2 つのフィールドが含まれます。frame配列は通常、関数GetFrameで返されます。

colormapが空でない場合、cdataの各要素は 2 次元 (高さ x 幅) の配列となります。高さと幅は 1 つのファイル内の全フレームで一貫していなければなりません。

colormap256年には最大個のエントリを含めることができます。colormapの各要素は、[0,1]の范囲になけれなりません。

VideoWriterオブジェクトを作成する場合、profileの入力とcdataのサイズによってwriteVideoframeを使用する方法が決まります。

VideoWriterオブジェクトのprofile cdataの各要素のサイズ writeVideoの動作

'索引avi'

2 次元 (高さ x 幅) 提供されたフレームをそのまま使用します。
'Grayscale AVI' 2 次元 (高さ x 幅) 提供されたフレームをそのまま使用します。colormapは空でなければなりません。

他のすべてのプロファイル

2 次元 (高さ x 幅) colormapフィールドを使用して RGB イメージ フレームを作成します。
3 次元 (高さ x 幅 x 3) colormapフィールドは無視します。cdataフィールドを使用して RGB イメージ フレームを作成します。

データ型:struct

R2010b で導入