C++使用OpenCV的计时方法

15 篇文章 0 订阅

前言

在这里插入图片描述
OpenCV —— Open Source Computer Vision

OpenCV是一个跨平台的计算机视觉库。是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。可用于开发实时的图像处理、计算机视觉以及模式识别程序。

在使用C++调用OpenCV接口时,我们经常会有对函数或者代码块的执行进行计时的需求。其实在OpenCV内部有cv::getTickCount()和cv::getTickFrequency()函数来测量时间。其中cv::getTickCount()的作用是返回CPU自启动系统以来走过的时钟周期数,cv::getTickFrequency()函数的作用是返回CPU在1秒钟内的时钟周期数(频率)。对于一个计时任务,通常需要测量运行任务前后的时间刻度,然后用二者之差来除以频率则得到耗时(s)。

使用

#include <iostream>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#define CV_LOAD_IMAGE_COLOR 1

int main(int argc, char *argv[]) {
  std::string input_img_path = argv[1];
  cv::Mat img, img_gray;
  
  double time1 = static_cast<double>(cv::getTickCount());
  //开始运行任务
  img = cv::imread(input_img_path, CV_LOAD_IMAGE_COLOR);
  cv::cvtColor(img, img_gray, cv::COLOR_BGR2GRAY);
  //结束运行任务
  double time2 = static_cast<double>(cv::getTickCount());
  
  time_use = (time2 - time1)/cv::getTickFrequency();
  
  std::cout<<"Time use: "<< time_use <<"s"<<std::endl;//输出运行时间
  
  return 0;
}

OpenCV官方示例

在这里插入图片描述
在这里插入图片描述

参考资料

[1] OpenCV-Python Tutorials - Core Operations -Performance Measurement and Improvement Techniques
[2] opencv 计时函数
[3] OpenCV - Utility and system functions and macros - Core functionality

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TracelessLe

❀点个赞加个关注再走吧❀

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

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

打赏作者

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

抵扣说明:

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

余额充值