300 フレームの RGB マット データがあり、ビデオライターを使用してこれらのマット フレームを avi ファイルに変換する方法があるかどうか疑問に思っていました。imwrite と videowriter を使用してみましたが、コードが機能しません。
1911 次
1 に答える
0
あなたのデータがどのようにフォーマットされているかわかりませんが、ここにあなたが始めるのを助けるための小さなプログラムがあります:
% Generate sample frames
for i = 1:300
frames{i} = rand(240, 300, 3);
end
% Write sample frames to disk
v = VideoWriter('c:/data/test.avi');
v.open;
for i = 1:300
v.writeVideo(frames{i});
end
v.close;
AVI には、ファイル形式やフレーム レートなど、微調整できる多くのパラメーターがあります。VideoWriterのドキュメントを参照してください。
マット データとは、フレーム情報を含む 1 つの変数を含む個別のマット ファイルを意味する場合、ループ内で各マット ファイルを読み込み、データを VideoWriter オブジェクトに書き込む必要があります。たとえば、すべてのマット ファイルがc:/data/frames
フォルダーの下にあり、名前がframe1.mat
toframe300.mat
形式であり、各マット ファイルに という 1 つの変数があるとしますframe
。
for i = 1:300
load (sprintf('c:/data/frames/frame%d.mat', i), 'frame');
v.writeVideo(frame);
end
于 2013-07-11T17:44:12.200 に答える