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

其实这是个很简单的应用,贴出来是因为我经常能用到这两个函数,顺便写一下吧。

double t1 = (double)getTickCount();
.
.
.
double t2 = (double)getTickCount();
cout<<"time:"<<(t2-t1)*1000/getTickFrequency()<<endl;

getTickCount()与getTickFrequency()都被定义在core.hpp文件下:

//! Returns the number of ticks.

/*!
  The function returns the number of ticks since the certain event (e.g. when the machine was turned on).
  It can be used to initialize cv::RNG or to measure a function execution time by reading the tick count
  before and after the function call. The granularity of ticks depends on the hardware and OS used. Use
  cv::getTickFrequency() to convert ticks to seconds.
*/
CV_EXPORTS_W int64 getTickCount();

/*!
  Returns the number of ticks per seconds.

  The function returns the number of ticks (as returned by cv::getTickCount()) per second.
  The following code computes the execution time in milliseconds:

  \code
  double exec_time = (double)getTickCount();
  // do something ...
  exec_time = ((double)getTickCount() - exec_time)*1000./getTickFrequency();
  \endcode
*/
CV_EXPORTS_W double getTickFrequency();

/*!
  Returns the number of CPU ticks.

  On platforms where the feature is available, the function returns the number of CPU ticks
  since the certain event (normally, the system power-on moment). Using this function
  one can accurately measure the execution time of very small code fragments,
  for which cv::getTickCount() granularity is not enough.
*/
CV_EXPORTS_W int64 getCPUTickCount();

getTickCount():用于返回从操作系统启动到当前所经的计时周期数,看名字也很好理解,get Tick Count(s)。 getTickFrequency():用于返回CPU的频率。get CPU Tick Count(s)。这里的单位是秒。

所以剩下的就很清晰了: 总次数/一秒内重复的次数 = 时间(s)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

视觉搜索和Neo4j的最后一公里

“ 最后一公里 ”是电信行业使用的一个术语,指系统为实际使用该系统的客户提供链接。就图形数据库而言,它指的是终端用户可以从图中提取有价值的信息和洞察力。我们...

1633
来自专栏何俊林

Android Multimedia框架总结(二十三)MediaCodec补充及MediaMuxer引入(附案例)

前言:前面几章都是分析MediaCodec相关源码,有收到提问,说MediaCodec到底是硬解码还是软解码?看下今天的Agenda: MediaCodec到...

24410
来自专栏逍遥剑客的游戏开发

Direct3D基础知识

1888
来自专栏我和未来有约会

Silverlight中摄像头的运用—part2

Silverlight 4 中摄像头的运用—part1 将跟踪颜色视作输入 好了,我们能够跟踪到这个颜色了,那这么做的意义是什么呢?实际上,我们可以根据它的位...

1816
来自专栏林德熙的博客

win10 uwp 分治法

算法涉及到了一个平面几何的知识。就是三角形p1p2p3的面积等于以下行列式的二分之一: % <![CDATA[ \begin{array}{cccc} | ...

571
来自专栏生信技能树

单细胞转录组3大R包之Seurat

牛津大学的Rahul Satija等开发的Seurat,最早公布在Nature biotechnology, 2015,文章是; Spatial reconst...

3.6K19
来自专栏施炯的IoT开发专栏

Windows on Device 项目实践 1 - PWM调光灯制作

在前一篇文章《Wintel物联网平台-Windows IoT新手入门指南》中,我们讲解了Windows on Device硬件准备和软件开发环境的搭建,以及He...

1875
来自专栏生信技能树

使用sequenza软件判定肿瘤纯度

发表该软件的文章当时使用了10 个 ovarian serous carcinomas (OVCA) 和 20 个clear-cell renal cell c...

1163
来自专栏CreateAMind

视觉机械臂 visual-pushing-grasping

831
来自专栏IT技术精选文摘

搜索引擎架构概述

架构 对软件系统来讲,从一个层面对系统的各个组件进行抽象.描述它们各自的功能、提供的接口以及它们之间的关系. 需求 架构为应付需求而产生,对搜索引擎来讲,它主要...

21510

扫码关注云+社区