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;
相关推荐
子夜江寒11 小时前
基于 OpenCV 的图像形态学与边缘检测
python·opencv·计算机视觉
saoys11 小时前
Opencv 学习笔记:创建与原图等尺寸的空白图像
笔记·opencv·学习
工藤学编程12 小时前
零基础学AI大模型之LangChain智能体之initialize_agent开发实战
人工智能·langchain
king王一帅13 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
泰迪智能科技15 小时前
分享|职业技术培训|数字技术应用工程师快问快答
人工智能
Dxy123931021617 小时前
如何给AI提问:让机器高效理解你的需求
人工智能
少林码僧17 小时前
2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
人工智能·python·算法·机器学习·ai·数据挖掘
钱彬 (Qian Bin)17 小时前
项目实践15—全球证件智能识别系统(切换为Qwen3-VL-8B-Instruct图文多模态大模型)
人工智能·算法·机器学习·多模态·全球证件识别
没学上了17 小时前
CNNMNIST
人工智能·深度学习
宝贝儿好17 小时前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人