查找视频中的帧数

aks*_*aks 3 matlab

我试图逐帧显示视频,我需要知道帧的总数.但它显示错误:"无法确定此文件中的帧数".

obj = VideoReader('a.avi');
nof=obj.NumberOfFrames;
for i=1:nof
    img = read(obj,i);
    imshow(img);

end
Run Code Online (Sandbox Code Playgroud)

VHa*_*sop 5

视频可能与可变帧速率,在这种情况下MATLAB不能检测帧的数量,直到它显示的最后一帧(如记录被编码在这里.

要找到答案,您应该阅读最后一帧,如此处所示.

Obj = VideoReader('varFrameRateFile.avi');
lastFrame = read(Obj, inf);
numFrames = Obj.NumberOfFrames;
Run Code Online (Sandbox Code Playgroud)