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;
相关推荐
隐语SecretFlow6 小时前
【技术教程】TrustFlow 授权策略是怎么实现的?
性能优化·架构·开源
棒棒的皮皮6 小时前
【OpenCV】Python图像处理之仿射变换
图像处理·python·opencv·计算机视觉
小oo呆6 小时前
【学习心得】基于FunASR推理的SenseVoiceSmall模型来实现语音识别
人工智能·语音识别
极客BIM工作室6 小时前
AI导读AI论文: Towards a Unified View of Parameter-Efficient Transfer Learning
人工智能
小叶子来了啊6 小时前
少儿编程Scratch3.0教程——扩展篇(视频侦测)
人工智能·深度学习·计算机视觉·scratch
赵得C6 小时前
2025下半年软件设计师考前几页纸
java·开发语言·分布式·设计模式·性能优化·软考·软件设计师
FrameNotWork6 小时前
HarmonyOS 教学实战(三):列表分页、下拉刷新与性能优化(让列表真正“丝滑”)
华为·性能优化·harmonyos
GEO AI搜索优化助手6 小时前
未来图景:信息传播链的生态重构与长期影响
人工智能·搜索引擎·重构·生成式引擎优化·ai优化·geo搜索优化
adaAS14143156 小时前
【深度学习】【目标检测】使用RetinaNet-R101-FPN模型实现建筑设备物体检测_1
人工智能·深度学习·目标检测