//opencv4获取FPS
/*
两种计算时间方法:
GetTickcount函数:它返回从操作系统启动到当前所经的计时周期数。
getTickFrequency函数:返回每秒的计时周期数。
*/
#include<opencv2/opencv.hpp>
#include<iostream>
#include<vector>
#include "opencv2/video/tracking.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <opencv2/core/core.hpp>
#include <iostream>
#include <ctype.h>
#include <stdlib.h>
using namespace std;
using namespace cv;
int main()
{
Mat frame;
VideoCapture capture(0);
double fps;
char str[5];
namedWindow("webCam");
double t = 0;
while (1)
{
t = (double)getTickCount();
if (waitKey(50) == 27)
{
break;
}
if (capture.isOpened())
{
capture >> frame;
// do something ...
t = ((double)getTickCount() - t) / getTickFrequency();
fps = 1.0 / t;
sprintf(str, "%5f", fps);
string fpsStr("FPS:");
fpsStr += str;
putText(frame, fpsStr, Point(0, 30), FONT_HERSHEY_SIMPLEX, 1.0, Scalar(0, 0, 255));
imshow("webCam", frame);
}
else
{
cout << "capture device failed to open!" << endl;
break;
}
}
return 0;
}