0

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

??? 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
4

1 回答 1

0

跟进 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;
于 2013-08-03T15:12:25.437 回答