【问题标题】:RGB mat to avi matlabRGB mat到avi matlab
【发布时间】:2013-07-10 02:24:52
【问题描述】:

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

【问题讨论】:

    标签: matlab video rgb mat


    【解决方案1】:

    我不确定您的数据是如何格式化的,但这里有一个小程序可以帮助您入门:

    % 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.matframe300.mat 格式,并且每个 mat 文件都有一个名为 frame 的变量:

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

    【讨论】:

    • 谢谢,我已经把事情复杂化了,尝试使用 imwrite。
    猜你喜欢
    • 2012-11-23
    • 1970-01-01
    • 2015-07-21
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    相关资源
    最近更新 更多