C++/OpenCV 计算模块执行时间方法

本文介绍两种计算C++程序执行时间的方法:一种是使用OpenCV中的getTickCount()和getTickFrequency()函数;另一种是使用C++标准库chrono进行时间测量。这两种方法均能有效地帮助开发者评估代码片段的运行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++/OpenCV 计算模块执行时间方法


Reference:

  1. OpenCV 利用getTickCount()与getTickFrequency()计算执行时间

1. OpenCV

OpenCV 中使用 getTickCount()getTickFrequency() 计算执行时间,两个API均被定义在了core.hpp文件下。

1.1 使用方式

auto start_time = cv::getTickCount();
...   ...
auto end_time = cv::getTickCount();
auto freq = cv::getTickFrequency();
printf("--\033[42;37m total: %.04fs |\033[0m\n",(end_time-start_time)/freq);
  • getTickCount() 返回从操作系统启动到当前所经的计时周期数;
  • getTickFrequency() 用于返回CPU的频率,也就是一秒内重复的次数;

总结:
总次数/一秒内重复的次数 = 时间(s)
1000 *总次数/一秒内重复的次数= 时间(ms)

2. chrono

C++ 标准库中使用 #include <chrono> 计算执行时间。

2.1 使用方式

chrono::steady_clock::time_point t1 = chrono::steady_clock::now();
...   ...
chrono::steady_clock::time_point t2 = chrono::steady_clock::now();
chrono::duration<double> time_used = chrono::duration_cast < chrono::duration < double >> (t2 - t1);
cout << "遍历图像用时:" << time_used.count() << " 秒。" << endl;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泠山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值