我们如何跳过帧,计算帧数并使用视频阅读器获取当前帧

How do we skip frame, calculate number of frames and get current frame with video reader

本文关键字:视频 获取 何跳过 计算 我们      更新时间:2023-10-16

我现在正在使用Opencv进行视频解码。我可以毫无问题地播放视频。但是,我找不到跳过帧,获取帧总数和当前帧数的方法。有没有办法像VideoCapture一样使用VideoReader?我已经浏览了他们的 api,但什么也得不到。

OpenCV 是开源库。如果使用VideoCapture,则此类的对象具有任何方法:

  1. 要跳过一帧,您应该每帧读取 2 次。

  2. 获取帧总数,如下所示:

    cv::VideoCapture m_capture;
    ....
    int totalFrames = m_capture.get(cv::CAP_PROP_FRAME_COUNT)
    
  3. 要获取当前帧号,请执行以下操作:

    int currentFrame = m_capture.get(cv::CAP_PROP_POS_FRAMES)
    

有关详细信息,请访问 OpenCV 文档 https://docs.opencv.org/3.1.0/d8/dfe/classcv_1_1VideoCapture.html。