【发布时间】:2012-03-02 04:02:25
【问题描述】:
我正在使用VideoWriter 从一系列情节中制作视频。它几乎可以正常工作(在遵循this SO answer 中的建议之后)。但是,似乎 Matlab 在完成动画后尝试将所有 3000 帧依次渲染到屏幕上,这导致我的窗口管理器崩溃并且计算机冻结了几分钟。
有没有办法绕过屏幕渲染将视频帧直接写入磁盘?似乎writeVideo(vid, getframe(f)) 中的getframe 必然使图形可见;有没有办法避免这种情况?
【问题讨论】:
-
不幸的是,我不这么认为,虽然它会很好。来自mathworks.com/help/techdoc/ref/getframe.html:“注意在 MATLAB 软件在当前在您的显示器上不可见的虚拟桌面上运行的情况下,对 getframe 的调用将完成,但将在您的显示器上捕获与图形占据的位置相对应的区域或隐藏桌面上的轴。因此,请确保 getframe 要捕获的窗口存在于当前活动的桌面上。这似乎是一种非常固定的行为。
-
我的经验是一样的,我也欢迎任何允许此功能的未记录功能。
标签: matlab