qt+opencv提取视频中目标转速的项目,记录提高性能的方法

@TOC目录

背景

复制代码
最近临时有一个需求,需要从大概30个视频(平均时长1h,约有几十万到上百万帧)中,提取其中每个阶段的泵速,这个靠肉眼去数,工作量太大,因此做了一个基于QT+opencv的自动识别软件,特此记录开发过程中提高性能的测试数据。

开发经验(测试数据对应多个对象,只记录每种优化手段的效果)

  1. 颜色识别要使用HSV颜色空间,设置参数更方便、符合直观判断;
  2. 添加颜色抓取功能,这样能有效判断误识别的颜色处于哪个范围,快速找到优化方向;
  3. 图像提取和图像识别都是耗时任务,需要在不同线程中处理(此方法,我的识别时间从8min缩减到了6min);
  4. 如果对内存不敏感,cv::Mat等变量,尽量使用全局变量,因为局部变量会有申请内存耗时,循环次数多了,会影响较大(此方法,我的识别时间从3min缩减到了2min);
  5. 手动降低帧率,每两帧检测一次(此方法,我的识别时间从1.8min缩减到了1.2min);
  6. 缩减日志,去掉频繁打印的日志,影响很小;
  7. 编译器优化,将debug版本改为release版本编译,(此方法,我的识别时间从10min缩减到了7min);
  8. 优化检测空间,将传递的图片大小改为最小可用尺寸(大约原来的一半),我的识别时间从15min缩减到了12min;
相关推荐
oort12324 分钟前
吃上了自家的细糠,还挺丝滑,用起来手感还行,OortCloud发布新版AI编程平台,下载 OortCodex,Token多,免费薅
大数据·开发语言·人工智能·ai编程
AI小码30 分钟前
把动作「画」给视频世界模型,跨本体双向推演,李飞飞参与
大数据·人工智能·算法·ai·大模型·音视频·编程
qq_2975746737 分钟前
RuoYi框架二次开发系列(五)性能优化、Redis缓存实战、分布式部署、接口限流与安全加固生产方案
redis·缓存·性能优化
AI多Agent协作实战派41 分钟前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
爱研究的小梁1 小时前
乾元通聚合路由及管理平台支持全面适配信创
网络·人工智能·信息与通信
水如烟1 小时前
孤能子视角:智能系统的持续学习——从关系场存续到模块化生长
人工智能
做一个码农都是奢望1 小时前
0722 LLM及其科研进展
人工智能
饼饼学习空间智能1 小时前
2026数字孪生国产化进入“交付验证期”:五类头部企业能力与项目选型分析
人工智能
海兰2 小时前
【高速缓存】RedisVL为文本生成嵌入向量实践指南
人工智能·python·机器学习
user-猴子2 小时前
让网页“活”过来 —— 用AI打造会自主学习的动态知识图谱
人工智能·学习·知识图谱