matlab视频转帧

video to frames in matlab

我有一个代码可以从下面给出的video.The代码中提取帧

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 效果很好。但输入视频显示错误为

??? Error using ==> vid2frame at 6 Initialization failed. (No combination of intermediate filters could be found to make the connection.)

我该如何解决这个问题?

该错误是由于您的视频文件本身造成的。从外观上看,MATLAB 读取该文件时出现问题,可能是因为文件编码错误或视频使用 MATLAB 不支持或您的计算机上不存在的编解码器编码。有关类似问题,请参阅此问题: no combination of intermediate filters could be found

这与 MATLAB 无关,但错误是您遇到的,答案是基本上以与您的操作系统和 MATLAB 兼容的格式重新编码视频文件。


祝你好运!