基于OpenCV+MFC的KCF测速软件

2024-08-27 01:28
文章标签 opencv 软件 mfc 测速 kcf

本文主要是介绍基于OpenCV+MFC的KCF测速软件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于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
资源内容包含如下:
在这里插入图片描述

这篇关于基于OpenCV+MFC的KCF测速软件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1110245

相关文章

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.