OpenCV-计时函数cv::getTickCount&cv::getTickFrequency

OpenCV-计时函数cv::getTickCount&cv::getTickFrequency本文介绍了一种便于记忆的 OpenCV 计时函数 方便大家使用

场景需求

       使用OpenCV时,如果有计时的需求,就记住两个函数cv::getTickCount和cv::getTickFrequency,应用非常简单也方便记忆,C++中有多种多样的计时方法,选择自己最常用最便于记忆的使用就可以了~

       下面简单分享下cv::getTickCount和cv::getTickFrequency这两个函数的使用。

C++实现代码

/ * @brief getTickCount() 该函数返回CPU自某个事件以来走过的时钟周期数 * @brief getTickFrequency() 该函数返回CPU一秒钟所走的时钟周期数。便于以秒为单位进行计时。 */ // 计时开始 double timex = static_cast<double>(getTickCount()); // 需要计时的函数或代码 .............. // 计时结束 timex = ((double)getTickCount() - timex) / getTickFrequency(); // 时间输出 cout << "运行时间为:" << timex << "秒" << endl ;

测试代码

#include<iostream> #include<opencv2/opencv.hpp> #include<ctime> using namespace std; using namespace cv; int main(void) { Mat A = Mat::zeros(10000, 10000, CV_32FC1); // 随意创建一个A矩阵 for (int i = 0; i < A.rows; i++) { for (int j = 0; j < A.cols; j++) { A.at<float>(i, j) = rand() % 100 / 100.f; } } Mat B = A.clone(); // 计时开始 double time0 = static_cast<double>(getTickCount()); for (int i = 0; i < A.rows; i++) { for (int j = 0; j < A.cols; j++) { B.at<float>(i, j) *= 2; } } // 计时结束 time0 = ((double)getTickCount() - time0) / getTickFrequency(); // 时间输出 cout << " 运行时间为:" << time0 << "秒" << endl << endl; system("pause"); return 0; }

测试效果

OpenCV-计时函数cv::getTickCount&cv::getTickFrequency
图1 计时输出

       本文介绍了一种便于记忆的OpenCV计时函数,方便大家使用。

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233208.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月7日 下午12:01
下一篇 2025年8月7日 下午12:22


相关推荐

  • 什么是软件开发工具包(SDK)

    什么是软件开发工具包(SDK)开发一个软件 需要经过编辑 编译 调试 运行几个过程 编辑 使用编程语言编写程序代码的过程 编译 如上一节所讲 就是将编写的程序进行翻译 调试 程序不可能一次性编写成功 编写过程中难免会出现语法 语义上的错误 调试就是找出程序中存在的错误 运行 在开发过程中需要反复多次运行程序 已检查程序是否按照预定目标执行 软件开发人员需要在自己电脑中安装 配置相应的软件工具 才能够进行编辑

    2026年3月18日
    1
  • python 转义字符表

    python 转义字符表python 转义字符表需要使用特殊字符时 python 用反斜杠 转义字符 转义字符描述 在行尾时 续行符 反斜杠符号 单引号 双引号 a 响铃 b 退格 Backspace 000 空 n 换行 v 纵向制表符 t 横向制表符 r 回车 f 换页 oyy 八进制数 yy 代表的字符 例如 o12 代表换行 其中 o 是字母 不是数字 0 xyy 十六进制数 yy 代表的字符 例如

    2026年3月18日
    2
  • 雷塞控制器SMC304简单介绍

    雷塞控制器SMC304简单介绍                           SMC304运动控制器                                                                                            2018.3产品概述:        SMC304控制器(BASIC版):基于嵌入式…

    2022年6月3日
    61
  • CentOS 7 yum卸载jdk、安装jdk以及配置jdk环境

    CentOS 7 yum卸载jdk、安装jdk以及配置jdk环境CentOS7yum卸载jdk、安装jdk以及配置jdk环境查看是否已经安装jdk通过命令查询是否已经安装jdk//括号中选择一个即可yumlistinstalled|grep[java][jdk]运行结果类似下图则说明系统已经存在jdk,可卸载卸载jdk(若未存在jdk不用执行)卸载的jdk按已存在的jdk版本进行卸载,示例为jdk1.8.0,不知版本号可观上图…

    2022年5月25日
    48
  • gimp教程:gimp界面介绍「建议收藏」

    gimp教程:gimp界面介绍「建议收藏」GIMP(跨平台图像处理程序)是一个开发源代码的光栅与图像编辑的先进功能,关于GIMP的界面,初学者都了解吗?下面是小编整理的关于gimp教程中gimp界面介绍,快来分享吧!gimp界面介绍:gimp图像窗口Gimp图像窗口是打开图形图像文件时图像显示的窗口,关闭窗口右上角的关闭按钮的话程序也将随之关闭。如下图所示,其窗口中包含下面几个元素:A、居于最上面的标题栏,最左面是Gimp图标(icons),中间是图像名,如果是刚开始打开无图像的话显示”GNUImageManipulatio..

    2022年6月15日
    37
  • 如何通过jmeter测试大模型性能【QPS篇】

    如何通过jmeter测试大模型性能【QPS篇】

    2026年3月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号