c – OpenCV:无法从视频获得帧率

我想获得视频的帧率,但我总是在
Linux上获得-nan.

VideoCapture video(input);
if (!video.isOpened())  // zakoncz program w przypadku, problemu z otwarciem
{
    exit(0);
}

double fps = video.get(CV_CAP_PROP_FPS);

我的openCv版本是2.4.7.相同的代码在Windows上运行良好.

最佳答案 我的猜测是它依赖于相机.某些(API)功能有时未在OpenCV中实现和/或您的相机支持.如果你检查github上的代码,那将是最好的.

关于您的问题:我可以使用普通网络摄像头和XIMEA摄像头获取帧速率.

测试:

> Ubuntu 15.04 64bit
>使用Qt和XIMEA相机支持编译的OpenCV 3.0.0

您可以自己测量帧速率:

double t1 = (double)cv::getTickCount();
// do something
t1 = ((double)cv::getTickCount() - t1)/cv::getTickFrequency();

给你时间//做一些事情.

点赞