我有300帧的RGB垫数据,我想知道是否有一种方法可以使用videowriter将这些垫帧转换为avi文件?我试过使用imwrite和videowriter,但我不能让代码工作。
发布于 2013-07-12 01:44:12
我不确定您的数据是如何格式化的,但这里有一个小程序可以帮助您入门:
% 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数据指的是包含单个变量和帧信息的单独mat文件,则需要在循环中加载每个mat文件,并将数据写入VideoWriter对象。例如,假设所有mat文件都在c:/data/frames文件夹下,且名称为frame1.mat to frame300.mat格式,并且每个mat文件都有一个名为frame的变量
for i = 1:300
load (sprintf('c:/data/frames/frame%d.mat', i), 'frame');
v.writeVideo(frame);
endhttps://stackoverflow.com/questions/17599742
复制相似问题