writeVideo
ビデオ データをファイルに書き込む
説明
例
可逆圧縮を使用して 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'
VideoWriter
オブジェクトを書き込み用に開き、A
のイメージ データをファイルに書き込みます。
open(v) writeVideo(v,A)
VideoWriter
オブジェクトを閉じます。
close(v)
サンプルのインデックス付きイメージ ファイル corn.tif
からイメージとカラーマップ データを読み取ります。
[X,map] = imread("corn.tif");
新しいインデックス付き AVI ファイル用に VideoWriter
オブジェクトを作成します。
v = VideoWriter("myIndexed.avi","Indexed AVI");
v
の Colormap
プロパティにカラーマップ データを代入します。
v.Colormap = map;
VideoWriter
オブジェクトを書き込み用に開きます。v
を開いた後は、そのプロパティを変更することはできません。
open(v)
X
のイメージ データをビデオ ファイルに書き込みます。
writeVideo(v,X)
VideoWriter
オブジェクトを閉じます。
close(v)
サンプル ビデオの読み書きを行うオブジェクトを作成し、書き込み用に AVI ファイルを開きます。
reader = VideoReader("xylophone_video.mp4"); writer = VideoWriter("transcoded_xylophone.avi","Uncompressed AVI"); writer.FrameRate = reader.FrameRate; open(writer);
各フレームの読み書きを行います。
while hasFrame(reader) img = readFrame(reader); writeVideo(writer,img) end
VideoReader
オブジェクトをクリアして VideoWriter
オブジェクトを閉じます。
clear reader
close(writer)
ビデオのフレームの生成に使用する座標軸と Figure のプロパティを設定します。
Z = peaks; surf(Z); axis tight manual
set(gca,"NextPlot","replacechildren")
出力ビデオ ファイルの VideoWriter
オブジェクトを作成し、オブジェクトを書き込み用に開きます。
v = VideoWriter("peaks.avi");
open(v)
一連のフレームを生成し、Figure から各フレームを取得して、各フレームをファイルに書き込みます。
for k = 1:20 surf(sin(2*pi*k/20)*Z,Z) frame = getframe(gcf); writeVideo(v,frame) end
VideoWriter
オブジェクトを閉じます。
close(v)
入力引数
入力 VideoWriter
オブジェクト。VideoWriter
を使用してオブジェクトを作成します。
グレースケールまたは RGB カラー イメージを表す値。2 次元、3 次元または 4 次元の配列として次のように指定します。
1 つのグレースケール、モノクロまたはインデックス付きイメージの場合、
img
は 2 次元 (高さ×幅) でなければなりません。1 つのトゥルーカラー RGB イメージの場合、
img
は高さ×幅×3 の 3 次元でなければなりません。グレースケール イメージのシーケンスの場合、
img
は高さ×幅×1×フレームの 4 次元でなければなりません。高さと幅は 1 つのファイル内の全フレームで一貫していなければなりません。RGB イメージのシーケンスの場合、
img
は高さ×幅×3×フレームの 4 次元でなければなりません。高さと幅は 1 つのファイル内の全フレームで一貫していなければなりません。
AVI または MPEG-4 ファイルを作成する場合:
img
は、1 つ以上のグレースケールまたは RGB カラー イメージを表すsingle
、double
またはuint8
値の配列です。writeVideo
はこの値を 1 つ以上の RGB ビデオ フレームとして書き込みます。インデックス付き AVI ファイルを書き込む場合を除いて、
single
型またはdouble
型のデータは[0,1]
の範囲内でなければなりません。
Motion JPEG 2000 ファイルを作成する場合:
img
は、1 つ以上のモノクロまたは RGB カラー イメージを表すuint8
、int8
、uint16
またはint16
値の配列です。
データ型: single
| double
| int8
| int16
| uint8
| uint16
フレーム データ。1 フレームを表す 1 行 1 列の構造体配列、または複数のフレームを表す 1 行 F
列の構造体配列として指定します。各フレームに cdata
と colormap
の 2 つのフィールドが含まれます。frame
配列は通常、関数 getframe
で返されます。
colormap
が空でない場合、cdata
の各要素は 2 次元 (高さ×幅) の配列となります。高さと幅は 1 つのファイル内の全フレームで一貫していなければなりません。
colormap
には最大 256 個のエントリを含めることができます。colormap
の各要素は、[0,1]
の範囲内になければなりません。
VideoWriter
オブジェクトを作成する場合、profile
の入力と cdata
のサイズによって writeVideo
が frame
を使用する方法が決まります。
VideoWriter オブジェクトの profile | cdata の各要素のサイズ | writeVideo の動作 |
---|---|---|
| 2 次元 (高さ×幅) | 提供されたフレームをそのまま使用します。 |
'Grayscale AVI' | 2 次元 (高さ×幅) | 提供されたフレームをそのまま使用します。colormap は空でなければなりません。 |
他のすべてのプロファイル | 2 次元 (高さ×幅) | colormap フィールドを使用して RGB イメージ フレームを作成します。 |
3 次元 (高さ×幅×3) | colormap フィールドは無視します。cdata フィールドを使用して RGB イメージ フレームを作成します。 |
データ型: struct
バージョン履歴
R2010b で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)