[英]Playing video to correct speed with OpenCV
我在播放视频文件时遇到问题,为什么它是慢动作? 我怎样才能使它正常速度?
#include"opencv2/opencv.hpp"
using namespace cv;
int main(int, char**)
{
VideoCapture cap("eye.mp4");
// open the default camera
if (!cap.isOpened())
// check if we succeeded
return -1;
namedWindow("Video", 1);
while (1)
{
Mat frame;
cap >> frame;
imshow("Video", frame);
if (waitKey(10) == 'c')
break;
}
return 0;
}
VideoCapture
不是为播放而构建的,它只是一种从视频文件或相机中抓取帧的方法。 其他支持播放的库,例如 GStreamer 或 Directshow,它们设置了一个控制播放的时钟,以便可以将其配置为尽可能快地播放或使用原始帧速率。
在您的代码段中,帧之间的间隔来自读取帧和waitKey(10)
。 尝试使用waitKey(0)
,它至少应该播放得更快。 理想情况下,您可以使用waitKey(1/fps)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.