导出视频时,轴背景颜色无法正确呈现

时间:2012-03-08 13:24:43

标签: matlab

在Linux下运行Matlab R2011b,我正在使用VideoWriter生成视频。我的代码是这样的:

h_fig = figure();
set(h_fig, 'Visible', 'on')
set(h_fig, 'Position', [300,200,898,720]);
h_axs = axes('Parent', h_fig);
set(h_axs,'nextplot','replacechildren');
vidObj = VideoWriter('leadfollow3.avi');
...
for i = 1:n
    h_axs_a = subplot(3,2,[1 2]);
    plot(h_axs_a, x, a_mag_lead, x, a_mag_follow, 'r');
    ...

该图由几个子图组成。第一个子图渲染很好,但对于其余部分,轴背景保持灰色而不是白色。更糟糕的是,对于某些帧,它会切换为白色,从而导致视频中出现恼人的闪烁(see example video here)。视频编写器循环外部的各个图不显示此工件。什么是排除故障的最佳策略?

编辑:在我有机会在Windows上尝试此代码后,似乎问题仅限于Linux。尽管如此,我仍然非常想知道一个可能的解决方案,因为我没有定期访问可以进行计算的Windows机箱。

1 个答案:

答案 0 :(得分:0)

您错过了关键代码行,您实际将图形转换为图像并将其发送到VideoWriter,因此很难提供很多帮助。但是,如果您还没有这样做,我建议您使用export_fig执行此任务。