Я использую videoWriter
из MatLab для получения результатов моих вычислений.Моя проблема в том, что созданные видео слишком тяжелые.7k кадров, 1000x300 пикселей каждый кадр, вес около 2 ГБ, что слишком много.
Мне нужно немного цвета в моих видео, поэтому я делаю:
v=VideoWriter(vidName, 'Indexed AVI');
v.FrameRate=25;
map=[ 0 0 0 % (1) Black
1 0 0 % (2) Red
1 1 1 % (3) White
0 1 0 % (4) Green
0 0 1 % (5) Blue
1 0 1 ]; % (6) Purple
v.Colormap=map;
open(v);
документация гласит, что Indexed AVI
видео не может быть сжато, а Motion JPEG 2000
видео может быть сжато, но оно не может быть цветным.Это правильно?
Для сжатых и цветных видео, похоже, есть тип MPEG-4
.Есть ответ этой ветки , который говорит об этом.Но я не понимаю, что такое f
(что это за объект, ...).Кроме того, данные, которые он помещает в это, являются изображением (я полагаю, созданным функцией MatLab).Но у меня есть только сетка, которая представляет каждый пиксель.Могу ли я напрямую использовать эту сетку для установки данных f
?
РЕДАКТИРОВАТЬ:
Способ хранения данных:
grid=ones(1000, 300);
...
% Some computation
...
writeVideo(v, grid);