• putText() 显示帧率


    #include<opencv2opencv.hpp>
    #include <iostream>
    
    using namespace cv;
    using namespace std;
    
    int main()
    {
        Mat frame;
        // 可从摄像头输入视频流或直接播放视频文件
        VideoCapture capture(0);
        double fps;
        char str[10];//用于存放帧率的字符串
        double t = 0;
    
        while (1)
        {
            t = (double)cv::getTickCount();// getTickcount函数:返回从操作系统启动到当前所经过的毫秒数
            if (capture.isOpened())
            {
                capture >> frame;            
                // getTickFrequency函数:返回每秒的计时周期数
                // t为该处代码执行所耗的时间,单位为秒,fps为其倒数
                t = ((double)cv::getTickCount() - t) / cv::getTickFrequency();
                fps = 1.0 / t;
    
                sprintf(str, "%.2f", fps); // 帧率保留两位小数
                string fpsString("FPS:");
                fpsString += str; // 在"FPS:"后加入帧率数值字符串
                // 将帧率信息写在输出帧上
                putText(frame, // 图像矩阵
                    fpsString, // string型文字内容
                    cv::Point(5, 20), // 文字坐标(文字区域左下角)
                    cv::FONT_HERSHEY_TRIPLEX, // 字体类型
                    0.5, // 字体大小
                    cv::Scalar(255, 255, 255)); // 字体颜色,白色。若是灰度图Scalar(255)
    
                imshow("Camera FPS", frame);//注意,putText在此之前
                if (cv::waitKey(10) >= 0){ break; }
            }
            else
            {
                std::cout << "No Camera Input!" << std::endl;
                break;
            }
        }
        return 0;
    }
  • 相关阅读:
    crontab与系统时间不一致
    MySQL构造测试数据
    【SQL优化】SQL优化工具
    mysql case when then 使用
    update没带where,寻找问题的思路
    线程池
    线程理论
    数据共享
    进程池
    管道
  • 原文地址:https://www.cnblogs.com/xixixing/p/12322056.html
Copyright © 2020-2023  润新知