基于OpenCV+MFC的KCF测速软件

ops/2024/10/18 5:44:48/

基于OpenCV+MFC的KCF测速软件

  • 引言
  • 原理介绍
  • 使用介绍
    • (1)主界面
    • (2)打开视频
    • (3)点击KCF测速
    • (4)框选待检测目标
    • (5)测速结果
  • 资源链接(包含源码)

引言

  还记得刚上研二那会儿,导师突发奇想让我做乒乓球拍的性能测试,想着这个要是弄好了的话就给我做毕业课题(哈哈最后还是换了另外的课题),这个当时调研了一番,其中关于如何定义乒乓球拍的性能指标比较麻烦,即如何给其定性定量,当时并没有统一的标准,而我想到的就是看同一高度下乒乓球落到球拍后的反弹速度作为其中的一个性能指标。
  但是如何测量视频中某一物体的速度呢?最关键的是把要测量的物体给提取出来,当时想过不少方式,但发现都要定制算法提取特定物体不是特别方便,后来过了一段时间,发现了KCF对象跟踪算法,并且将其与界面结合后,只要框选一下待检测对象就能实现较好的跟踪效果了

原理介绍

KCF测速:采用VS开发环境,C++编程语言,MFC框架搭建界面,调用opencv算法库开发。主要思路是采用KCF算法进行目标跟踪,使用KCF找到目标后,选取其某一特征点,找到视频当前帧该特征点位置P2(以像素为单位),上一帧所在位置P1(以像素为单位),通过视频帧率求得相邻两帧间隔时间t,通过(P2-P1)/t可以简单求得当前帧目标的瞬时速度(这里单位为pix/s),本软件并未进行相机标定与真实物理世界进行连接,求得的是以像素为单位的速度,而非真实世界的速度。

使用介绍

(1)主界面

主界面如下:可以打开mp4、avi等格式的视频,也可以打开电脑连接的摄像头
在这里插入图片描述

(2)打开视频

在这里插入图片描述
在这里插入图片描述

(3)点击KCF测速

点击KCF测速后会弹出一个窗口,该窗口是用来框选待检测目标的
在这里插入图片描述

(4)框选待检测目标

使用鼠标左键点击下拉框选指定目标,然后点击“回车”,再按压键盘“ESC”键,就可以对框选目标进行KCF测速了(需要注意的一点是待检测目标运动的过程中最好不要有遮挡,否则kcf跟踪会失效)
在这里插入图片描述

(5)测速结果

其会将测速结果显示到右下角的文本框上
在这里插入图片描述

资源链接(包含源码)

链接:https://download.csdn.net/download/qq_44870829/89678392
资源内容包含如下:
在这里插入图片描述


http://www.ppmy.cn/ops/100382.html

相关文章

掌握 Rust 中的 YAML 魔法:Serde_yaml 使用指南

掌握 Rust 中的 YAML 魔法:Serde_yaml 使用指南 文章目录 掌握 Rust 中的 YAML 魔法:Serde_yaml 使用指南一、简介二、使用场景三、基本使用1、读取和解析 YAML 文件2、序列化数据结构为 YAML3、使用自定义结构体进行反序列化4、从文件流中直接解析 四、…

深度学习-局部最小值与鞍点【Datawhale X 李宏毅苹果书 AI夏令营】

在网络优化时,有时会出现随着参数不断更新,训练的损失可能不会再下降,但训练结果并不满意。为什么会出现这样的情况呢? 假设排除数据集优劣的问题,可能需要进一步考虑的是为什么网络不再有新的最优值了,在…

iOS profiles文件过期如何更新

创建发布用的Certificates 首先进入到https://developer.apple.com/account页面选择【证书】进入【新建证书】页面 点击【新建证书】按钮: 根据需求选中对应的【证书类型】,我选的是【Apple Distribution】, 开发者证书选择【Apple Devel…

算法:时间复杂度与空间复杂度计算方法

计算方法 一、时间复杂度(Time Complexity)1. 基本概念2. 计算方法3.示例1.常数时间复杂度 O(1)示例:讲解: 2. 线性时间复杂度 O(n)示例1:讲解: 示例2:讲解: 3. 平方时间复杂度 O(n)…

配置PXE预启动执行环境:使用PXE装机服务器网络引导装机

文章目录 PXE概述PXE批量部署的优点基本的部署过程搭建的前提条件 搭建配置PXE装机服务器1. 准备 CentOS 7 安装源(YUM 仓库)2. 安装并启用 TFTP 服务3. 安装并启用 DHCP 服务4. 准备 Linux 内核和初始化镜像文件5. 准备 PXE 引导程序6. 安装 FTP 服务并…

FreeRTOS学习笔记>内存管理

1. 内存的概念与分类 在计算系统中,内存用于存储变量和中间数据。系统的内存可以分为两种: 内部存储空间(RAM):通常指随机存储器,数据存取速度快,可以随机访问,但掉电后数据会丢失…

es、kibana及分词器的安装

文章目录 1、搜索引擎2、为什么使用新型搜索?3、底层原理:倒排索引4、底层API5、你使用了什么分词器?6、ElasticSearch安装6.1、准备目录并授予权限6.2、制作配置文件6.3、初始化es容器6.4、重置es用户密码6.5、安装中文分词器6.5.1、 把资料…

[Hive]四、Hive On Tez

G:\Bigdata\Projects\大数据电商数仓项目(含2.0、3.0版本)\数仓项目实战V2.0\word版资料 1. Hive集成引擎Tez Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看下图。 用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写…