我试图逐帧显示视频,我需要知道帧的总数.但它显示错误:"无法确定此文件中的帧数".
obj = VideoReader('a.avi');
nof=obj.NumberOfFrames;
for i=1:nof
img = read(obj,i);
imshow(img);
end
Run Code Online (Sandbox Code Playgroud)
视频可能与可变帧速率,在这种情况下MATLAB不能检测帧的数量,直到它显示的最后一帧(如记录被编码在这里.
要找到答案,您应该阅读最后一帧,如此处所示.
Obj = VideoReader('varFrameRateFile.avi');
lastFrame = read(Obj, inf);
numFrames = Obj.NumberOfFrames;
Run Code Online (Sandbox Code Playgroud)