2015-01-19 2 views
0

У меня есть код для извлечения кадров из кода video.The приводится нижевидео кадров в MATLAB

addpath('E:\project\coding\wrk_ongoing\Images'); 
obj = mmreader('ace.mp4'); 
vid = read(obj); 
frames = obj.NumberOfFrames; %Read the Total number of frames and displyed in  command window 
    ST='.jpg'; 

cd frames 
for x = 1:5   % extracting the 5 frames from video 
    Sx=num2str(x); 
    Strc=strcat(Sx,ST); 
    Vid=vid(:,:,:,x); 
    imwrite(Vid,Strc); 
end 
cd .. 

Этот код работает только для некоторых videos.I испытания для различных видео с .mp4 extension.Some из них хорошо работают. Но входные видеоролики показывают ошибку как

??? Ошибка при использовании ==> vid2frame при 6 Инициализация не удалась. (Ни одна комбинация из промежуточных фильтров не может быть найден, чтобы сделать соединение.)

как я могу решить эту проблему?

ответ

2

Эта ошибка возникает из-за вашего видеофайла. По внешнему виду MATLAB имеет проблемы с чтением этого файла, вероятно, из-за того, что файл плохо кодируется или видео было закодировано кодеком, который не поддерживается MATLAB или не существует на вашем компьютере .. См. Этот вопрос для аналогичной проблемы : no combination of intermediate filters could be found

Это не имеет никакого отношения к MATLAB, но ошибка была в том, что вы столкнулись, и ответ состоял в том, чтобы существенно перекодировать видеофайл в формате, совместимом с вашей операционной системой и MATLAB.


Удачи вам!

Смежные вопросы