当前位置: 首页 > news >正文

OpenCV的TickMeter计时类

OpenCV的TickMeter计时类

    • 1. TickMeter是一个计时的类
      • 1.1 计算耗时
      • 1.2 计算循环的平均耗时和FPS
      • 1.3 function
    • 2. 案例

1. TickMeter是一个计时的类

https://docs.opencv.org/4.x/d9/d6f/classcv_1_1TickMeter.html#details
在这里插入图片描述

1.1 计算耗时

        TickMeter tm;tm.start();// do something ...tm.stop();cout << "Total time: " << tm.getTimeSec() << endl;

1.2 计算循环的平均耗时和FPS

        TickMeter tm;for (int i = 0; i < COUNT; i++){tm.start();// do something ...tm.stop();cout << "Last iteration: " << tm.getLastTimeSec() << endl;}cout << "Average time per iteration in seconds: " << tm.getAvgTimeSec() << endl;cout << "Average FPS: " << tm.getFPS() << endl;

1.3 function

indexfunction
1getAvgTimeMilli
2getAvgTimeSec
3getCounter
4getFPS
5getTimeMicro
6getTimeMilli
7getTimeSec
8getTimeTicks
9reset
10start
11stop

2. 案例

import timeimport cv2tm = cv2.TickMeter()
index = 0
print(f"|index|function|")
print(f"|:----:|:----:|")
for i, con in enumerate(dir(tm)):if con.startswith("__"):continueindex += 1print(f"|{index}|\t{con}|")def show():for _ in range(10):tm.start()time.sleep(0.1)tm.stop()print(f"总计数次数 Last iteration: {tm.getCounter()}")print(f"getTimeSec 总耗时(s): {tm.getTimeSec()} getTimeMilli 总耗时(ms): {tm.getTimeMilli()} "f"getTimeMicro 总耗时(us): {tm.getTimeMicro()} getTimeTicks 总tick(us): {tm.getTimeTicks()}")print(f"Average time per iteration in seconds: {tm.getAvgTimeSec()} Millis: {tm.getAvgTimeMilli()}")print(f"Average FPS: {tm.getFPS()}")show()
tm.reset()
print("after tm.reset()" + "------------------------")
show()
|index|function|
|:----:|:----:|
|1|	getAvgTimeMilli|
|2|	getAvgTimeSec|
|3|	getCounter|
|4|	getFPS|
|5|	getTimeMicro|
|6|	getTimeMilli|
|7|	getTimeSec|
|8|	getTimeTicks|
|9|	reset|
|10|	start|
|11|	stop|
总计数次数 Last iteration: 1
getTimeSec 总耗时(s): 0.105019959 getTimeMilli 总耗时(ms): 105.019959 getTimeMicro 总耗时(us): 105019.959 getTimeTicks 总tick(us): 105019959
总计数次数 Last iteration: 2
getTimeSec 总耗时(s): 0.209122084 getTimeMilli 总耗时(ms): 209.122084 getTimeMicro 总耗时(us): 209122.084 getTimeTicks 总tick(us): 209122084
总计数次数 Last iteration: 3
getTimeSec 总耗时(s): 0.311539417 getTimeMilli 总耗时(ms): 311.53941699999996 getTimeMicro 总耗时(us): 311539.41699999996 getTimeTicks 总tick(us): 311539417
总计数次数 Last iteration: 4
getTimeSec 总耗时(s): 0.412974 getTimeMilli 总耗时(ms): 412.974 getTimeMicro 总耗时(us): 412974.0 getTimeTicks 总tick(us): 412974000
总计数次数 Last iteration: 5
getTimeSec 总耗时(s): 0.51804475 getTimeMilli 总耗时(ms): 518.04475 getTimeMicro 总耗时(us): 518044.75 getTimeTicks 总tick(us): 518044750
总计数次数 Last iteration: 6
getTimeSec 总耗时(s): 0.623065542 getTimeMilli 总耗时(ms): 623.0655419999999 getTimeMicro 总耗时(us): 623065.5419999999 getTimeTicks 总tick(us): 623065542
总计数次数 Last iteration: 7
getTimeSec 总耗时(s): 0.727750709 getTimeMilli 总耗时(ms): 727.750709 getTimeMicro 总耗时(us): 727750.709 getTimeTicks 总tick(us): 727750709
总计数次数 Last iteration: 8
getTimeSec 总耗时(s): 0.831228417 getTimeMilli 总耗时(ms): 831.228417 getTimeMicro 总耗时(us): 831228.417 getTimeTicks 总tick(us): 831228417
总计数次数 Last iteration: 9
getTimeSec 总耗时(s): 0.933850459 getTimeMilli 总耗时(ms): 933.850459 getTimeMicro 总耗时(us): 933850.459 getTimeTicks 总tick(us): 933850459
总计数次数 Last iteration: 10
getTimeSec 总耗时(s): 1.038880917 getTimeMilli 总耗时(ms): 1038.880917 getTimeMicro 总耗时(us): 1038880.9169999999 getTimeTicks 总tick(us): 1038880917
Average time per iteration in seconds: 0.10388809169999999 Millis: 103.88809169999999
Average FPS: 9.625742312099858
after tm.reset()------------------------
总计数次数 Last iteration: 1
getTimeSec 总耗时(s): 0.10503875 getTimeMilli 总耗时(ms): 105.03875 getTimeMicro 总耗时(us): 105038.75 getTimeTicks 总tick(us): 105038750
总计数次数 Last iteration: 2
getTimeSec 总耗时(s): 0.210075042 getTimeMilli 总耗时(ms): 210.075042 getTimeMicro 总耗时(us): 210075.042 getTimeTicks 总tick(us): 210075042
总计数次数 Last iteration: 3
getTimeSec 总耗时(s): 0.315131042 getTimeMilli 总耗时(ms): 315.131042 getTimeMicro 总耗时(us): 315131.04199999996 getTimeTicks 总tick(us): 315131042
总计数次数 Last iteration: 4
getTimeSec 总耗时(s): 0.416519501 getTimeMilli 总耗时(ms): 416.519501 getTimeMicro 总耗时(us): 416519.501 getTimeTicks 总tick(us): 416519501
总计数次数 Last iteration: 5
getTimeSec 总耗时(s): 0.521595918 getTimeMilli 总耗时(ms): 521.5959180000001 getTimeMicro 总耗时(us): 521595.9180000001 getTimeTicks 总tick(us): 521595918
总计数次数 Last iteration: 6
getTimeSec 总耗时(s): 0.626131752 getTimeMilli 总耗时(ms): 626.131752 getTimeMicro 总耗时(us): 626131.752 getTimeTicks 总tick(us): 626131752
总计数次数 Last iteration: 7
getTimeSec 总耗时(s): 0.727543668 getTimeMilli 总耗时(ms): 727.543668 getTimeMicro 总耗时(us): 727543.6680000001 getTimeTicks 总tick(us): 727543668
总计数次数 Last iteration: 8
getTimeSec 总耗时(s): 0.832573168 getTimeMilli 总耗时(ms): 832.573168 getTimeMicro 总耗时(us): 832573.1680000001 getTimeTicks 总tick(us): 832573168
总计数次数 Last iteration: 9
getTimeSec 总耗时(s): 0.937604126 getTimeMilli 总耗时(ms): 937.604126 getTimeMicro 总耗时(us): 937604.1259999999 getTimeTicks 总tick(us): 937604126
总计数次数 Last iteration: 10
getTimeSec 总耗时(s): 1.04264996 getTimeMilli 总耗时(ms): 1042.6499600000002 getTimeMicro 总耗时(us): 1042649.9600000002 getTimeTicks 总tick(us): 1042649960
Average time per iteration in seconds: 0.10426499600000001 Millis: 104.26499600000001
Average FPS: 9.590946514782392Process finished with exit code 0

相关文章:

OpenCV的TickMeter计时类

OpenCV的TickMeter计时类 1. TickMeter是一个计时的类1.1 计算耗时1.2 计算循环的平均耗时和FPS1.3 function 2. 案例 1. TickMeter是一个计时的类 https://docs.opencv.org/4.x/d9/d6f/classcv_1_1TickMeter.html#details 1.1 计算耗时 TickMeter tm;tm.start();// do some…...

蓝桥杯JAVA刷题--001

文章目录 题目需求2.代码3.总结 题目需求 2.代码 class Solution {public String convertDateToBinary(String date) {if (date null || date.length() ! 10 || date.charAt(4) ! - || date.charAt(7) ! -) {throw new IllegalArgumentException("输入的日期格式不正确&…...

免费又开源:企业级物联网平台的新选择 ThingsPanel

在开源领域&#xff0c;选择合适的开源协议是开发者和企业能否充分利用平台的关键。ThingsPanel&#xff0c;作为一个专注于物联网的开源平台&#xff0c;近日将协议从 AGPLv3 改为更开放的 Apache 2.0。这一改变对开发者和用户意味着什么&#xff1f; 为什么协议要从 AGPLv3 转…...

鸿蒙开发:文本合成语音

前言 Android开发的同学都知道&#xff0c;在Android当中&#xff0c;实现一段文字合成语音播放&#xff0c;可以使用系统提供的对象TextToSpeech来很快的实现&#xff0c;如果不用系统自带的&#xff0c;也可以使用三方提供的&#xff0c;比如讯飞的语音合成等等&#xff0c;总…...

雷军:科技传奇的逐梦之旅

亲爱的小伙伴们&#x1f618;&#xff0c;在求知的漫漫旅途中&#xff0c;若你对深度学习的奥秘、Java 与 Python 的奇妙世界&#xff0c;亦或是读研论文的撰写攻略有所探寻&#x1f9d0;&#xff0c;那不妨给我一个小小的关注吧&#x1f970;。我会精心筹备&#xff0c;在未来…...

LeetCode - 初级算法 数组(删除排序数组中的重复项)

免责声明:本文来源于个人知识与公开资料,仅用于学术交流。 删除排序数组中的重复项 这篇文章讨论如何从一个非严格递增的数组 nums 中删除重复的元素,使每个元素只出现一次,并返回新数组的长度。因为数组是排序的,只要是相同的肯定是挨着的,所以我们需要遍历所有数组,然…...

2024年度培训运维总结

目前带的弟子跟我实战训练运维的总就业率基本可以稳定在 100% 左右&#xff08;因为我不带小白和没学历和大龄&#xff0c;悟性低都筛掉了还能找我说明条件够了&#xff09; 以下是弟子私教训练营的最新就业数据&#xff08;2024年12月25日&#xff09;&#xff1a; 面试辅导…...

java重装小结

一、Java安装 安装路径 https://www.oracle.com/java/technologies/javase/javas e8-archive-downloads.html 具体类型可参考&#xff1a; Java安装配置-CSDN博客 我在这一步主要碰到的问题就是访问官网报404错误&#xff0c;可参考&#xff1a; 在oracle官网下载资源显示…...

ubuntu20.04 中文输入法安装

中文输入法安装指南 在 Ubuntu 20.04 上安装中文输入法&#xff0c;您可以按照以下步骤操作&#xff1a; 打开终端。安装 fcitx 输入法框架和中文输入法模块&#xff1a;sudo apt update sudo apt install fcitx fcitx-pinyin安装中文语言支持&#xff1a;sudo apt install l…...

SQL常用语句(基础)大全

SQL语句的类型 1.DDL 1.库2.表 2.DML 1.插入数据 insert inot2.删除数据 delete / truncate3.修改数据 update set 3.DQL 1.无条件查询2.查询 什么开始 到什么结束3.指定条件查询 1.单个条件 ro in2.多个条件 and4.查询不为NULL值 is not null ,为NULL值 is null5.模糊查询 li…...

计算和可视化相对湿度结果

了解如何确定 CFD 模型中的相对湿度。 了解相对湿度 大气是干燥空气和水蒸气的混合物&#xff0c;每一种的压力之和等于蒸气压。相对湿度是指空气中的水分量与空气在特定温度下可以容纳的最大水分量之比。它通常以百分比表示。它的范围从 0&#xff08;干燥空气&#xff09;到…...

uniapp-vue3(下)

关联链接&#xff1a;uniapp-vue3&#xff08;上&#xff09; 文章目录 七、咸虾米壁纸项目实战7.1.咸虾米壁纸项目概述7.2.项目初始化公共目录和设计稿尺寸测量工具7.3.banner海报swiper轮播器7.4.使用swiper的纵向轮播做公告区域7.5.每日推荐滑动scroll-view布局7.6.组件具名…...

一起学习Firtran: Fortran中的流程控制与操作符

流程控制语句 在计算机编程中&#xff0c;控制程序流程是算法设计中的一个核心概念&#xff0c;它使得程序能够根据特定条件执行不同的操作或重复执行某段代码。这显著增强了计算机算法相对于简单数学公式的功能和灵活性。 if语句 在单个 if 语句中只有当测试表达式&#xff0…...

Sonic:开源Go语言开发的高性能博客平台

Sonic&#xff1a;一个用Go语言开发的高性能博客平台 简介 Sonic&#xff0c;一个以其速度如声速般快速而命名的博客平台&#xff0c;是一个用Go语言开发的高性能博客系统。正如其名字所暗示的&#xff0c;Sonic旨在提供一个简单而强大的博客解决方案。这个项目受到了Halo项目…...

SpringBoot教程(十四) SpringBoot之集成Redis

SpringBoot教程&#xff08;十四&#xff09; | SpringBoot之集成Redis 一、Redis集成简介二、集成步骤 2.1 添加依赖2.2 添加配置2.3 项目中使用之简单使用 &#xff08;举例讲解&#xff09;2.4 项目中使用之工具类封装 &#xff08;正式用这个&#xff09;2.5 序列化 &…...

RSI和CCI指标组合:如何评估需求供应区?昂首资本实战指南

在市场分析中&#xff0c;分笔成交点数量提供了一个有价值的视角&#xff0c;帮助我们识别需求和供应区。通过这些数据&#xff0c;我们可以假设供需区域的参数与主要振荡器中的区域参数类似。以RSI和CCI为例&#xff0c;这些指标不仅能够反映市场的超买和超卖情况&#xff0c;…...

PTPVT 插值说明

文章目录 PTPVT 插值说明 PTPVT 插值说明PVT Hermite插值PVT 三次多项式插值PT 插值Sin轨迹测试结果PVT Hermite插值结果PVT 三次多项式插值结果PT 插值结果 用户轨迹测试结果PVT Hermite插值结果PT 插值结果 PTPVT 插值说明 PT模式&#xff1a; 位置-时间路径插值算法。 PVT模…...

Spring MVC和servlet

1.Spring MVC是Spring框架的一个扩展 2.Spring MVC工作流程 1、用户发送请求至前端控制器DispatcherServlet。 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找)&#xff0c;生成处理器对象及…...

java下载文件流,不生成中间文件。

java下载文件流&#xff0c;不生成中间文件。 代码设计&#xff1a;代码实现 代码设计&#xff1a; 从前端获取的数据经过后端加工后&#xff0c;生成文件流&#xff0c;并返回前端&#xff0c;&#xff08;不生成中间文件&#xff0c;注意内存&#xff0c;记得关闭流&#xf…...

计算机专业考研 408 学科学习方法

计算机专业考研 408 学科涵盖数据结构、计算机组成原理、操作系统和计算机网络四门核心课程&#xff0c;内容多且难度大。但只要掌握科学的学习方法&#xff0c;便能化繁为简&#xff0c;稳步提升。以下为大家详细介绍 408 学科的学习方法。 一、基础夯实阶段&#xff1a;全面…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API&#xff0c;用于在函数组件中使用 state 和其他 React 特性&#xff08;例如生命周期方法、context 等&#xff09;。Hooks 通过简洁的函数接口&#xff0c;解决了状态与 UI 的高度解耦&#xff0c;通过函数式编程范式实现更灵活 Rea…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...