如何使用vision.VideoFileReader确定帧数

use*_*226 2 matlab computer-vision matlab-cvst

我有一个视频,如何使用matlab内置函数确定视频中的帧数vision.VideoFileReader

它与VideoReader不同,我可以通过以下方式获得帧数:

vidObj = VideoReader('varFrameRateFile.wmv');
numFrames = vidObj.NumberOfFrames;
Run Code Online (Sandbox Code Playgroud)

lak*_*esh 6

videoFReader = vision.VideoFileReader(FILENAME) 
Frames = 0;
while ~isDone(videoFReader)
  I = step(videoFReader);
  Frames = Frames+1;
end
Run Code Online (Sandbox Code Playgroud)

更新:有一种替代解决方案,不需要迭代视频中的所有帧.

videoSource2=VideoReader(FILENAME);
frames=read(videoSource2);
totalFrameNumber=size(frames,4);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助..

  • +1 - 这是从**CVST视频文件阅读器读取帧数的唯一**方式.但是,如果您不想这样做,您可以随时使用`VideoReader`并根据OP获取帧数字段. (2认同)