Matlab: у меня ограниченная память, есть ли альтернативные решения для чтения данных из видео? - PullRequest
1 голос
/ 27 июня 2011

У меня в настоящее время проблема с Matlab в том, что, когда я пытаюсь прочитать некоторые данные из видео, я получаю сообщение об ошибке:

???Недостаточно памяти для 990 кадров.

У меня достаточно памяти для чтения примерно 100 кадров или около того.

Я говорю альтернативные решения в названии, так как я предполагаю очевидный ответбыло бы купить больше памяти.Есть ли другие способы чтения этих кадров и их обработки?Например, я подумал, что, возможно, я смогу читать в кадре за раз через цикл и изменять размер видеокадра, чтобы использовать меньше памяти (или сделать это через альтернативную программу)?Видео довольно интенсивно использует память в разрешении 1024x1024.Однако, уменьшая масштаб, я боюсь, что потеряю ценные данные из видео.

Любая помощь будет принята с благодарностью!

Заранее спасибо:)

пс.Текущий код:

vid = VideoReader('video.avi');
frames = read(vid);

1 Ответ

3 голосов
/ 27 июня 2011

Вы можете прочитать отдельные кадры, указав индексы вместо чтения всех кадров в память, как указано в документации .

frames = read(vid); %# Read all
frames = read(vid, index); %# Read only the specified frames

Пример

frames = read(vid, [1 50]); %# Read the first 50 frames
...