1. 程式人生 > 實用技巧 >Opencv4獲取FPS並顯示在左上角

Opencv4獲取FPS並顯示在左上角

//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;
}