RGB mat到avi matlab

时间:2013-07-11 17:27:11

标签: matlab video rgb mat

我有300帧RGB垫数据,我想知道是否有办法使用视频任务将这些垫帧转换为avi文件?我尝试过使用imwrite和videowriter,但我无法让代码工作。

1 个答案:

答案 0 :(得分: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 documentation

如果通过 mat data 表示包含单个变量和帧信息的单独mat文件,则需要在循环中加载每个mat文件并将数据写入VideoWriter对象。例如,假设所有mat文件都在c:/data/frames文件夹下,并且名称采用frame1.matframe300.mat格式,并且每个mat文件都有一个名为frame的变量:

for i = 1:300
    load (sprintf('c:/data/frames/frame%d.mat', i), 'frame');
    v.writeVideo(frame);
end