OpenCV中是否有任何方式或功能允许我们以固定帧率(fps)播放任何视频?不同的视频可能有不同的帧速率,但通过使用OpenCV库我们可以按照我们定义的固定帧速率播放它们吗?
提前致谢。
答案 0 :(得分:2)
看看this article。它显示了如何使用OpenCV播放AVI文件。这里,使用
读取帧速率int fps = ( int ) cvGetCaptureProperty( capture, CV_CAP_PROP_FPS );
并通过
设置延迟key = cvWaitKey( 1000 / fps );
因此,通过控制fps
变量,您可以获得所需的回放率。
答案 1 :(得分:2)
int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
int delay = 1000 / fps;
while (true) {
clock_t startTime = clock();
capture.read(frame);
process();
imshow("video", frame);
while (clock() - startTime < delay) {
waitKey(1);
}
}