【问题标题】:writeVideo error in MatLABMatLAB 中的 writeVideo 错误
【发布时间】:2013-08-02 20:06:28
【问题描述】:

我有一些图像,我在上面覆盖了一些轨道,然后变成了电影,但是我收到了这个错误(关于我拥有的代码末尾的行)。

??? Undefined function or method 'writeVideo' for
input arguments of type 'uint8'.

错误出现在这段代码的最后一行:

% add this frame to movie file
    %mov = addframe(mov,gcf);
    renderer = get(hnd,'renderer');
    if strcmp(renderer,'painters')
        renderer = 'opengl';
    end
    set(hnd, 'Units', 'pixels');
    pixelsperinch = get(0,'screenpixelsperInch');

    frame = hardcopy(hnd, ['-d' renderer], ['-r' num2str(round(pixelsperinch))]);
    writeVideo('mov',frame); %error appears here

【问题讨论】:

  • 您是否尝试使用VideoWriter 类?您在哪里使用构造函数创建了视频对象? writeVideo 的第一个输入必须是对象,而不是文件名。

标签: matlab video image-processing frame video-processing


【解决方案1】:

跟进 Acoustic77 的评论,看起来您的 VideoWriter 对象为 mov,但您将字符串“mov”而不是对象 mov 传递给 writeVideo。

% demo using random data and surface plot

mov = VideoWriter('demo.avi');
mov.open;

figure;
for x = 1:10
    data = rand(25,25);
    surf(data);

    renderer = get(gcf,'renderer');
    if strcmp(renderer,'painters')
        renderer = 'opengl';
    end
    frame = hardcopy(gcf, ['-d' renderer], ['-r' num2str(round(300))]);

    writeVideo(mov, frame);

end

mov.close;
mov.delete;

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多