基于OpenCV+MFC的KCF测速软件

基于OpenCV+MFC的KCF测速软件

引言

还记得刚上研二那会儿,导师突发奇想让我做乒乓球拍的性能测试,想着这个要是弄好了的话就给我做毕业课题(哈哈最后还是换了另外的课题),这个当时调研了一番,其中关于如何定义乒乓球拍的性能指标比较麻烦,即如何给其定性定量,当时并没有统一的标准,而我想到的就是看同一高度下乒乓球落到球拍后的反弹速度作为其中的一个性能指标。

但是如何测量视频中某一物体的速度呢?最关键的是把要测量的物体给提取出来,当时想过不少方式,但发现都要定制算法提取特定物体不是特别方便,后来过了一段时间,发现了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

资源内容包含如下:

相关推荐
誰能久伴不乏1 天前
Linux 进程通信与同步机制:共享内存、内存映射、文件锁与信号量的深度解析
linux·服务器·c++
_F_y1 天前
C++异常
c++
小龙报1 天前
《算法通关指南:算法基础篇 --- 一维前缀和 — 1. 【模板】一维前缀和,2.最大子段和》
c语言·数据结构·c++·算法·职场和发展·创业创新·visual studio
郝学胜-神的一滴1 天前
Effective STL 第9条:C++容器元素删除技巧详解
开发语言·c++·程序人生·stl
Ma_Hong_Kai1 天前
带复选框的combox
c++·mfc
syker1 天前
太极指令集架构(TCIS)v1.1与主流指令集比较研究报告
c++·架构
胖墩会武术1 天前
【OpenCV图像处理】图像去噪:cv.fastNlMeansDenoising()
图像处理·opencv·计算机视觉
jf加菲猫1 天前
第1章 认识Qt
开发语言·c++·qt·ui
Valueyou241 天前
论文阅读——CenterNet
论文阅读·python·opencv·目标检测·计算机视觉
蒋星熠1 天前
全栈开发实战指南:从架构设计到部署运维
运维·c++·python·系统架构·node.js·devops·c5全栈