我现在正在使用 Opencv 进行视频解码。我可以毫无问题地播放视频。但是,我找不到跳过帧、获取总帧数和当前帧数的方法。有没有办法像 VideoCapture 一样使用 VideoReader?我已经通过他们的 api,但无法得到任何东西。
最佳答案
OpenCV 是开源库。如果你使用 VideoCapture 那么这个类的对象有任何方法:
要跳过一个帧,您应该每帧阅读 2 次。
获取总帧数如下:
cv::VideoCapture m_capture; .... int totalFrames = m_capture.get(cv::CAP_PROP_FRAME_COUNT)
获取当前帧数:
int currentFrame = m_capture.get(cv::CAP_PROP_POS_FRAMES)
有关详细信息,请访问 OpenCV 文档 https://docs.opencv.org/3.1.0/d8/dfe/classcv_1_1VideoCapture.html .
关于c++ - 我们如何跳过帧,计算帧数并使用视频阅读器获取当前帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51979946/