【问题标题】:How to determine number of frames using vision.VideoFileReader如何使用 vision.VideoFileReader 确定帧数
【发布时间】:2014-08-09 05:18:28
【问题描述】:

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

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

vidObj = VideoReader('varFrameRateFile.wmv');
numFrames = vidObj.NumberOfFrames;

【问题讨论】:

    标签: matlab computer-vision matlab-cvst


    【解决方案1】:
    videoFReader = vision.VideoFileReader(FILENAME) 
    Frames = 0;
    while ~isDone(videoFReader)
      I = step(videoFReader);
      Frames = Frames+1;
    end
    

    更新:有一种替代解决方案不需要对视频中的所有帧进行迭代。

    videoSource2=VideoReader(FILENAME);
    frames=read(videoSource2);
    totalFrameNumber=size(frames,4);
    

    希望这会有所帮助..

    【讨论】:

    • +1 - 这是从 CVST 视频文件阅读器读取帧数的唯一方式。但是,如果您不想这样做,您可以随时使用VideoReader 并根据 OP 获取帧数字段。
    • 顺便说一句,我修正了您代码中的一个小错字。 MATLAB 中的not 符号表示为~,而不是!
    猜你喜欢
    • 2012-11-25
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-04-26
    • 1970-01-01
    相关资源
    最近更新 更多