我在播放视频文件时遇到问题,为什么是慢动作?
怎么才能让它正常速度呢?
#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)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)