Я делаю видео из последовательности графиков, используя VideoWriter
. Он работает в основном ОК (после следующего совета в this SO answer). Тем не менее, похоже, что Matlab пытается отобразить все 3000 кадров на экране последовательно после того, как это сделало анимацию, из-за чего мой оконный менеджер выкапывается, и компьютер замораживается в течение нескольких минут.Запись видеокадров непосредственно в файл, минуя показ экрана
Есть ли способ записать видеокадры непосредственно на диск, минуя экранирование экрана? Кажется, что getframe
в writeVideo(vid, getframe(f))
обязательно делает фигуру видимой; есть ли способ избежать этого?
К сожалению, я не думаю, что это так, хотя это было бы неплохо. С http://www.mathworks.com/help/techdoc/ref/getframe.html: «Примечание. В ситуациях, когда программное обеспечение MATLAB работает на виртуальном рабочем столе, который в настоящее время не отображается на вашем мониторе, вызовы getframe будут завершены, но захватит область на вашем мониторе, которая соответствует позиции, занимаемой фигурой или осями на скрытом рабочем столе. Поэтому убедитесь, что окно, которое будет захвачено с помощью getframe, существует на текущем рабочем столе ». Это похоже на довольно сложное поведение. – tmpearce
Мой опыт тот же, я бы тоже приветствовал любые недокументированные функции, которые позволили бы эту функциональность. – macduff