2

パッチからビデオをレンダリングしようとしています。ビデオは 25 fps で、私のコードは画像に書き込む前に各パッチを画面にレンダリングしています。パッチで「visible」、「off」オプションを試しましたが、ムービーに空白のフレームが表示されます。パッチ関数を使用して、ファイルに書き込みますが、画面にはレンダリングしないようにすることはできますか?

for k = 1:length(obj.shape)
    fig = patch('Vertices', obj.shape(k).vertices',...
    'Faces', obj.shape(k).faces', 'FaceColor', [0.8 0.5 0.2],...
    'LineStyle', 'none', 'FaceLighting', 'phong', 'Visible', 'on');
    light('Position', [1 0 0], 'Style', 'infinite');
    View(180, 90);
    f = getframe(gcf);
    close(gcf);
    imwrite(f.cdata, [directory '/frame_' int2str(k) '.jpg'], 'jpg');
end
4

2 に答える 2

2

問題は、getframe() が図を可視に設定することです (「 edit getframe 」と入力すると、100 ~ 125 行で確認できます)。私はあなたの必要性を完全に理解していますが、あなたが求めていることを行う簡単な方法があるかどうかはわかりません.

于 2012-02-07T15:31:12.187 に答える