移动物体检测与跟踪算法的实现
物联网环境中人体移动目标跟踪算法的使用方法与精度分析

物联网环境中人体移动目标跟踪算法的使用方法与精度分析随着物联网技术的不断发展,人体移动目标跟踪在环境监测和智能安防等领域中扮演着重要的角色。
在物联网环境中,通过利用传感器、摄像头和无线通信等技术,可以对物体的位置、行为等信息进行实时跟踪和监测。
本文将介绍物联网环境中人体移动目标跟踪算法的使用方法,并对其精度进行分析。
一、人体移动目标跟踪算法的使用方法人体移动目标跟踪算法主要包括目标检测、目标跟踪和目标预测三个步骤。
以下是该算法的使用方法:1. 目标检测目标检测是指在物联网环境中对目标进行识别和定位,常用的方法包括基于图像处理和机器学习的算法。
首先,需要获取图像或视频,并对其进行预处理,包括去噪、灰度化和图像增强等操作。
然后,可以利用传统的图像处理方法,如边缘检测、轮廓提取和特征匹配等,进行目标的初步检测。
此外,也可以采用深度学习技术,如卷积神经网络(CNN)和循环神经网络(RNN),训练模型进行目标检测。
2. 目标跟踪目标跟踪是指在物联网环境中对目标进行持续追踪,以获取目标的运动轨迹和状态等信息。
常用的目标跟踪算法包括基于卡尔曼滤波器和粒子滤波器的算法。
通过利用传感器和摄像头等设备获取目标的位置和速度等信息,可以使用卡尔曼滤波器对目标进行预测和跟踪。
而粒子滤波器则通过采样和重采样的方法,对目标的状态进行估计和更新,以实现目标的准确跟踪。
3. 目标预测目标预测是指在物联网环境中对目标的未来位置和行为进行预测。
常用的目标预测算法包括基于轨迹分析和机器学习的算法。
通过对目标的历史运动轨迹进行分析和建模,可以预测目标的未来位置和运动趋势。
此外,也可以利用深度学习技术,如循环神经网络(RNN)和长短期记忆网络(LSTM),对目标的行为模式进行学习和预测。
二、人体移动目标跟踪算法的精度分析人体移动目标跟踪算法的精度是评价算法性能的重要指标之一,其主要体现在目标的定位精度和跟踪稳定性两个方面。
1. 定位精度定位精度是指算法对目标位置的准确度,常用的评价指标包括平均定位误差和定位误差方差等。
移动物体检测与跟踪方法研究

移动物体检测与跟踪方法研究随着计算机技术的快速发展和网络应用的广泛普及,人们对于视频监控和物体跟踪的需求越来越高。
移动物体检测与跟踪方法是计算机视觉领域中的一个重要研究方向。
本文将介绍移动物体检测与跟踪的概念、应用场景、算法原理和现状。
一、移动物体检测和跟踪的概念移动物体检测和跟踪是指在视频监控中,通过计算机视觉技术来识别移动的物体并实现对其轨迹的追踪。
它是一种利用计算机自动处理图像或视频的技术,可以自动检测图像或视频中的移动物体,并对其进行跟踪。
二、应用场景移动物体检测和跟踪技术在日常生活中有着广泛的应用,如安防、交通监管等。
在安防方面,移动物体检测和跟踪技术能够对行人、车辆等移动物体进行准确识别并进行跟踪,从而保障人民生命财产安全。
在交通监管方面,利用移动物体检测和跟踪技术可以对车辆、行人等交通参与者进行实时监测,减少交通事故的发生。
三、算法原理移动物体检测和跟踪技术是一种基于计算机视觉的技术,需要通过多种算法实现。
其中,目标检测算法和目标跟踪算法是移动物体检测和跟踪技术中最核心的算法。
目标检测算法主要包括传统检测算法和深度学习检测算法。
传统检测算法包括基于特征工程的算法和基于机器学习的算法。
基于特征工程的算法通常包括边缘检测、颜色分离、纹理分析等。
而基于机器学习的算法则需要先对图像或视频进行标注,然后利用分类算法进行学习。
深度学习检测算法则是指基于深度学习模型的算法,如基于卷积神经网络(CNN)的算法。
目标跟踪算法主要包括传统跟踪算法和深度学习跟踪算法。
传统跟踪算法一般采用模板匹配、颜色直方图等方法来进行目标跟踪。
而深度学习跟踪算法则是指利用深度学习方法进行目标跟踪,如基于卷积神经网络的目标跟踪方法。
四、现状目前,移动物体检测和跟踪技术已经成为计算机视觉研究领域中的热点问题之一。
近年来,随着深度学习技术的发展,基于深度学习的移动物体检测和跟踪方法也得到了广泛的应用。
如YOLO、Faster R-CNN、Mask R-CNN等深度学习模型已成为目标检测领域中最为优秀的模型之一。
基于智能算法的移动物体检测与追踪研究

基于智能算法的移动物体检测与追踪研究移动物体检测与追踪是计算机视觉领域一个重要的研究方向,广泛应用于视频监控、自动驾驶、安防系统等领域。
随着智能算法的不断发展和深度学习技术的兴起,移动物体检测和追踪的性能和准确性得到了显著提升。
本文将重点介绍基于智能算法的移动物体检测与追踪的研究进展和应用。
一、移动物体检测算法研究移动物体检测是指通过分析视频序列中的帧图像,将移动物体从静态背景中进行提取。
传统的移动物体检测算法主要基于背景建模、差分法等基本技术,但这些算法对于复杂场景的适应性较差。
而基于智能算法的移动物体检测方法则利用了深度学习的优势,在复杂场景下取得了更好的性能。
1. 卷积神经网络(CNN)方法卷积神经网络是一种深度学习模型,常用于图像分类和目标检测。
在移动物体检测中,研究者将CNN应用于像素级别的移动物体检测。
通过训练网络模型,使其学习到移动物体的特征,然后进行像素级别的分类和分割,从而实现移动物体的检测。
这种方法具有较高的准确性和鲁棒性,但运算量较大。
2. 光流法光流法是通过分析视频序列中连续帧之间的像素位移来识别并提取移动物体的方法。
传统的光流法基于光学流方程的假设,在进行运动场估计时容易受到噪声的干扰。
基于智能算法的光流法通过引入深度学习模型,利用大量的训练数据来改进光流的估计精度,从而提高了移动物体的检测效果。
3. 基于背景建模的算法传统的移动物体检测中,背景建模算法被广泛应用。
基于智能算法的背景建模方法主要利用了深度学习的特征学习能力,将背景和前景进行建模,并利用学习到的特征进行移动物体的检测。
这种方法在复杂的背景和动态场景下表现出了较好的性能。
二、移动物体追踪算法研究移动物体追踪是指在连续视频帧中跟踪已知或未知的移动物体的过程。
移动物体追踪涉及到目标的运动模型、目标的特征描述、目标的外观变化等问题,是一个具有挑战性的任务。
1. 基于相关滤波器的追踪算法基于相关滤波器的追踪算法利用输入帧与目标模板之间的相关性进行目标位置预测。
摄像机移动侦测的原理是

摄像机移动侦测的原理是
摄像机移动侦测的原理是通过分析视频图像中的像素变化来检测移动物体的存在。
具体来说,摄像机移动侦测的原理可以分为以下几个步骤:
1. 图像采集:摄像机通过感光元件(如CCD或CMOS)采集场景的图像,并将其转换为数字信号。
2. 图像预处理:采集到的图像信号经过预处理,包括去噪、增强对比度等操作,以提高后续处理的效果。
3. 像素差分:将当前帧图像与前一帧图像进行像素级别的差分运算,得到差分图像。
差分图像中的像素值表示了当前帧与前一帧对应像素的差异程度。
4. 阈值处理:对差分图像进行阈值处理,将像素值超过一定阈值的像素标记为前景,表示可能存在移动物体的区域。
5. 运动目标提取:通过连通区域分析等方法,将相邻的前景像素连接起来,形成运动目标的区域。
6. 运动目标跟踪:对提取到的运动目标进行跟踪,可以使用相关滤波、卡尔曼滤波等算法来估计目标的位置和速度。
7. 运动目标判别:根据目标的特征(如大小、形状、运动轨迹等),对运动目标进行分类和判别,以区分真实的移动物体和误检测。
8. 报警处理:当检测到移动物体时,可以触发报警机制,如发送警报信息、录制视频等。
摄像机移动侦测的原理基于图像处理和计算机视觉技术,通过对图像序列进行分析和处理,实现对移动物体的检测和跟踪。
这种技术广泛应用于视频监控、智能交通、安防系统等领域,可以提高监控系统的效率和准确性。
物体跟踪是什么原理的应用

物体跟踪是什么原理的应用什么是物体跟踪物体跟踪是一种计算机视觉的技术,旨在识别和追踪视频中的特定物体。
它可以在连续的视频帧中检测物体,并在物体移动时跟踪物体的位置。
该技术在许多领域中得到广泛应用,如视频监控、自动驾驶、智能家居等。
物体跟踪的原理物体跟踪的原理通常基于计算机视觉中的目标检测和图像特征提取。
具体而言,物体跟踪的原理可以分为以下几个步骤:1.目标检测:在视频序列的每一帧中,使用目标检测算法来识别物体。
常用的目标检测算法包括基于深度学习的方法(如Faster R-CNN、YOLO)、基于传统图像处理的方法(如Haar特征)等。
目标检测算法能够定位视频帧中的物体并生成边界框。
2.特征提取:在检测到物体的边界框内,使用特征提取算法来提取物体的特征表示。
常用的特征提取算法包括HOG(方向梯度直方图)、SIFT(尺度不变特征变换)等。
这些特征可以用于后续的物体追踪。
3.物体追踪:在第一帧中检测到物体后,物体跟踪算法会在后续帧中使用物体的特征来追踪物体的位置。
物体追踪算法可以基于模型(如卡尔曼滤波器、粒子滤波器)或者基于关键点匹配(如光流法、最小二乘法)等。
4.目标更新与校正:由于光照变化、遮挡等原因,物体跟踪可能会出现偏差。
因此,物体跟踪算法需要定期进行目标更新和校正,以保证跟踪结果的准确性。
物体跟踪的应用1.视频监控:物体跟踪技术在视频监控领域中得到广泛应用。
通过将摄像头对准需要监控的区域,可以实时监测特定物体的位置和移动轨迹,从而提高监控效果和反应速度。
2.自动驾驶:物体跟踪是实现自动驾驶系统中的关键技术之一。
通过识别和跟踪道路上的车辆、行人和障碍物,自动驾驶系统可以做出相应的决策和控制,以安全、高效地完成驾驶任务。
3.智能家居:物体跟踪技术也被应用于智能家居领域。
通过跟踪家庭成员或者特定物体的位置,智能家居系统可以实现自动化、个性化的服务。
例如,当家人回家时,系统可以根据其位置自动开启门锁、调节室温等。
机器视觉中的物体识别与跟踪算法

机器视觉中的物体识别与跟踪算法随着人工智能技术的迅速发展,机器视觉技术的应用范围也越来越广泛。
在当前和未来的技术趋势中,物体识别与跟踪算法是机器视觉领域中最重要的核心技术之一。
通过这些算法,机器可以根据预先设定的规则,从图像和视频数据中识别出特定的物体,并且对它们进行跟踪和定位。
这些算法在工业自动化、智能安防、海底探测、医疗影像等领域都有着广泛的应用。
一、物体识别算法物体识别算法是机器视觉中非常重要的算法之一。
它的作用是根据从图像和视频中获取到的数据,快速准确地判断出图像中的物体是什么。
现在广泛使用的物体识别算法主要包括基于特征的识别算法和基于深度学习的识别算法。
基于特征的识别算法基于特征的识别算法是一种传统的物体识别算法,它采用的是人工构造的特征提取方法。
该算法首先会预处理图像,将无用的背景去除,然后采用SIFT(尺度不变的特征变换)或SURF(加速鲁棒特征)等算法提取图像中的特征点。
接下来,算法会对每个特征点提取与之相邻的图像块(也被称为局部区域),并计算每个局部区域的特征向量。
最后,通过匹配检索的方式,识别出图像中的目标物体。
由于基于特征的识别算法使用了人为设计的特征提取方法,算法的可解释性和鲁棒性较高,但相对来说精度不高,只适用于一些简单的物体识别。
基于深度学习的识别算法基于深度学习的识别算法是现在主流的物体识别算法,它采用的是全自动的特征提取方法。
该算法可以通过卷积神经网络(Convolutional Neural Network, CNN)来完成物体识别任务。
具体来说,算法会从源数据中自动学习出适合于物体识别的特征提取模型,并将学习到的特征应用于目标检测和分类等任务中。
相对于传统的基于特征的识别算法,基于深度学习的识别算法具有更高的识别精度和更广泛的应用场景。
二、物体跟踪算法物体跟踪算法是机器视觉中另一个非常重要的算法,它的作用是根据已知的物体位置和运动信息,跟踪物体在动态场景中的运动轨迹。
运动物体的跟踪检测算法的研究

运动物体的跟踪检测算法的研究崔陆月;宁媛;袁浩【期刊名称】《工业控制计算机》【年(卷),期】2015(000)008【摘要】主要研究的是运动物体的检测算法。
对运动物体跟踪检测的常用的三种算法———光流法、帧差法和背景差分法进行分析比较。
首先用Matlab进行算法模型的搭建,详细介绍了三种算法的视频输入模块、图像处理模块和视频输出模块这三大模块的建模方法;然后进行仿真实验并对不同算法下同一帧图像进行对比分析,找出每种算法的优点和缺点,提出最优算法;进一步对最优算法的关键技术进行分析并针对其不足之处提出了一种改进算法,详细阐述了改进算法的原理,对改进算法的进行建模和仿真实验并与最优算法实验结果进行对比,验证了改进算法的有效性。
%The main research is the detection algorithm of moving objects.Three common detection algorithms of moving objects,Optical flow,intra-frame subtraction and background subtraction method are compared with each other.The modeling method of video input module,image processing module and video output module of the three algorithms is introduced in detail in this paper,and then choose the best one as the optimal algorithm by the building and simulation of algorithm mod-el in MATLAB.【总页数】3页(P88-90)【作者】崔陆月;宁媛;袁浩【作者单位】贵州大学电气工程学院,贵州贵阳550025;贵州大学电气工程学院,贵州贵阳 550025;贵州大学电气工程学院,贵州贵阳 550025【正文语种】中文【相关文献】1.基于谱聚类和增量学习的运动目标物体检测算法研究 [J], 黄伟;杨文姬;曾璟;曾舒如;陈光2.基于YUV空间球状码元码本背景模型的运动物体检测算法研究 [J], 王然3.运动物体变化检测算法研究 [J], 刘静;鹿雪娇;刘继承4.基于调频连续波雷达的物体运动状态实时检测算法研究 [J], 屈奎;张荣福;肖鹏程5.视频中运动物体检测算法的研究 [J], 夏晨洋;顾西存;陈茜因版权原因,仅展示原文概要,查看原文内容请购买。
摄像机移动侦测的原理是

摄像机移动侦测的原理是
摄像机移动侦测是指在监控摄像机中,通过特定的算法和技术,实时检测视频中是否有移动物体出现,并及时触发相应的处理措施,例如报警、录像等。
其原理主要包括背景建模、目标检测和运动轨迹跟踪等几个关键步骤。
首先,摄像机移动侦测需要进行背景建模。
为了准确地检测移动物体,摄像机需要事先建立一个静止背景模型。
这个模型可以通过在摄像机一直处于固定位置并且没有移动物体的情况下进行背景采集得到。
然后,将每一帧的图像与背景模型进行比较,得到当前帧与背景的差异图像。
接着,根据差异图像进行目标检测。
差异图像中的非背景区域往往对应着移动物体。
为了准确地检测到移动物体,需要进行一系列的模式匹配、特征提取和分类等操作。
常用的目标检测算法有帧间差分法、像素差分法、基于光流的方法等。
这些算法可以通过对图像的像素值、颜色、纹理、形状、运动特征等进行分析,来判断各个区域是否为移动物体。
最后,对检测到的移动物体进行运动轨迹跟踪。
当移动物体被检测到后,需要对其进行跟踪,以便实时掌握其运动状态和轨迹。
常用的目标跟踪方法有基于匹配的方法、基于模型的方法、基于特征的方法等。
这些方法可以通过将连续帧中的目标进行匹配,或者利用物体的运动模型来实现移动物体的跟踪。
综上所述,摄像机移动侦测的原理是通过背景建模、目标检测和运动轨迹跟踪等
步骤来实现对摄像机视频中移动物体的实时检测和跟踪。
这些步骤需要借助图像处理、模式识别、计算机视觉等相关技术和算法来完成,以提高移动侦测的准确性和可靠性。
在实际应用中,人们可以根据具体的需求和场景,选择适合的算法和技术来进行摄像机移动侦测。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
移动物体检测与跟踪算法的实现移动物体检测算法已经在带LCD 的Intel XScale 270平台上实现,效果如下图所示。
这个界面是在Linux操作系统下利用QT库采用C++开发的。
如果在MicroBlaze上移植Linux成功的话,可能会出现不能支持QT的情况,那我们将舍弃用QT做出来的控制界面,而将图像视频直接显示在VGA显示器上。
接下来我将介绍一下实现这个效果我们所采用的算法和程序的流程:一、算法1、基于灰度图像的检测算法为了完成实时目标检测,需要一系列的操作,所以就需要对目标的特征进行提取,包括目标的形状和颜色分布。
由于人体是非刚性的,外在的障碍物和自身的噪声可能给建立唯一的模型带来困难。
为了减小这些影响我们把摄像头观察点放置在人群的正上方,这样几乎不会有重叠的现象而且每个目标占用图像的面积很小。
我们采用基于灰度直方图的方法简化目标模型,由于系统只需识别出有物体的存在并进行跟踪,所以要求的精度不需要很高,因此在该系统只识别人体的大体外形及所处的位置而忽略身体的细节部分,使算法更加简化。
为了突出目标本文采用相邻帧差法去除不变的部分(比如背景、身体的一些部分),通过分析剩下的部分我们可以定位目标所在的位置。
简单的帧差法并不足以达到检测的精度,这里采用相差后图像的水平和垂直投影完成检测功能。
下面给出这个算法的过程:(1) 相邻图像相差后得到M*N的图像I,如图1所示。
非零的那些像素大部分是头部的运动边缘,通过对差分图的分析就可以定位运动目标。
图1 相邻帧相减后的图像(2) 求出差分图像I 的水平及垂直投影分别用H 和V 表示。
如图2显示了两相邻帧和差分后的水平投影值的分布。
水平投影的计算如下:1()(,)N j V i I i j ==∑ 1,2,....,i N = (1)图2 两相邻帧以及差分后的水平投影从图中可以很明显地看出,在人体头部周围跟随两个峰值。
这里我们利用这个特征来检测定位目标。
为了最小化噪声的扰动和摄像机抖动的影响我们采用对V 进行中值滤波来保持边缘并滤除孤立脉冲噪声和胡椒噪声。
(3) 如果运动物体存在,那么在向量V 中肯定存在具有足够多的灰度值大于分割阈值的像素点的段。
我们将图像I 分成n 个域(n 就是段数),每一个域都位于相应段的中心并且具有一定的宽度。
那么这就检测出具有n 个运动目标。
(4) 假设每个域有一组纵向目标。
对每个域进行水平投影得到(1,2,3,...,)i H i n =然后进行中值滤波,如果在第i 个域中存在m 个目标,那么在i H 中一定具有m 个显著的值(峰值)。
再进行中值滤波并且利用另外一个阈值将域中的一组目标分割开。
这样就得图3 目标分割到了当前帧中可能的目标的坐标值,然后用外接矩形画出运动目标的边界,如图3所示。
以上使用的阈值具有很大的范围,但是它们的成分大体是固定的。
通过系统训练和结果分析我们发现了阈值T 和图象的平均灰度值之间具有如图4所示的关系。
因此,系统引进通过连续帧的平均灰度值表述的阈值自适应模型。
图4 阈值与平均灰度值的关系2、基于一个新的评价函数的跟踪算法在图像帧中可能发生目标的出现和消失,这就需要将最近检测到的目标和以前检测过的目标进行匹配。
基于模板匹配的算法被广泛采用但是它们的搜索空间会随图像大小和模板的增大而急剧增大。
所以较难达到实时处理的目的,而且也不可能在人群中提取到所有的模板。
这里采用一种新的基于颜色直方图的算法,认为同一物体的直方图是在帧间是相对不变的。
但是这种方法忽视了自身的误差,因此还需要做相应地处理来尽可能减小误差的影响。
该系统采用改进的一种新的评估函数来解决匹配问题。
此算法将最近相邻算法、速度相关性和单一化灰度直方图结合在一起。
由于帧间的时间间隔很短,所以人体特征如质心、边界矩形和速度不会发生突然地变化,在实验中我们得到了质心位移的上限λ。
假设,x y V V 分别表示某物体水平方向和垂直方向的速度,那么用[,],[,]T T cx cy sx sy Vc v v Vs v v ==分别表示在第K 帧的第C 个目标和第K+1帧的第S 个目标。
两向量规格化的关系(,,)c s R k V V 定义为(,,),/(||||||||)c s c s c s R k V V V V V V =<> (2)其中,Vc Vs <>表示内积,,T cx sx cy sy Vc Vs Vc Vs v v v v <>=⋅=⋅+⋅。
||||c V 、||||s V 分别表示向量,Vc Vs 的模。
根据施瓦兹不等式有0(,,)1c s R k V V ≤≤。
帧间物体的彩色直方图相对稳定而且在检测处理过程中本文关注的是加了边界的那些区域,然后计算它们的灰度直方图。
这里关心的是所有灰度值的一小部分而其中的大部分都不关心,于是为减轻处理的负担简化后的直方图H 是必须的。
这里采用了第K 帧的第C 个目标和第K+1帧的第S 个目标灰度直方图的相似度计算,匹配程度的计算公式如下:00(,,)min((),())/()w w s c ci i G k S C H i H i H i ===∑∑ (3)设d(C,S)表示它们之间的欧几里得距离,建立一个新的评价函数如下:(,,)(,,)(,,)(1)min((,))/(,)F k S C R k S C G k S C d i j d S C αβαβ=⋅+⋅+--⋅ (4) 其中(,)d i j 表示两帧间任意两目标之间的欧几里得距离,,αβ的取值都在0到1之间。
这样就将三个重要特征联合在一起作为匹配规则对运动目标进行跟踪。
下面给出跟踪算法的流程:(1) 所有在第一帧中出现的目标都标记为新目标,并且为了以后的匹配为每个目标建立一条空链。
(2) 当接收到第k 帧图像时,计算当前帧第j 个可能目标(1j m ≤≤,m 表示当前帧中出现的目标数)和以前检测过的第i 个目标(1i n ≤≤,n 表示以前检测过的总的目标数)之间的G(k,S,C)和(,)d i j 。
① 如果第j 个可能目标具有最大的G(k,S,C)且满足(,)d i j λ≤,就把这个目标认为时第i 个目标的后续,它们属于同一个物体,并且将它添加到相应的链中同时标记为已匹配。
② 如果所有以往检测到的目标都满足(,)d i j λ>,那么就认为第i 个目标在第k 帧没有后续。
这暗示这个目标已经在视窗范围之外或者暂时静止不动。
如果链的长度超过给定的值就进行一次统计。
被噪声淹没的目标即使在视窗范围内可能也会检测不到,但我们不能停止对它的跟踪,这里我们采用名为“等待N 帧重新匹配”的算法:如果在当前帧没有发现以前检测到的目标,我们不立即将它丢弃,接着处理接下来的N 帧,如果该目标在接下来的N 帧中都没有检测到,那么就放弃对它的跟踪,并且清除相应的链表同时进行计数,否则,恢复跟踪处理。
(3) 如果所有的目标都匹配并且都做过已匹配标记,意味着所有可能的目标都和以前检测到的目标有联系。
如果存在没有做过已匹配标记的目标,那么为该目标新建一条空链。
(4) 接收第K+1帧图像,重复第(2)(3)步,直到图像采集结束。
二、 程序流程(1) 系统类图系统实现由前台界面显示、后台的图像处理、目标检测和跟踪计数部分组成,完成这一系统本文定义了MainWin 、Process 、Tracker 、Target 四个类:①MainWin 类:如图5所示,该类利用Qt 图形库绘制主界面,在控件img(QImage)上实时显示处理后的视频。
主界面如下图所示。
Qt 中消息映射是通过“消息—槽”的机制实现,在这里时间信号每50毫秒触发timeoutslot() 函数,timeoutslot 调用Process 的InputNewFrame 方法检测和跟踪目标,也就是说每秒处理20帧图像。
主界面的布局如图4所示。
图5 MainWin 类 图6 Process 类②Process 类:如图6所示,该类实现图像处理和目标检测。
目标检测的核心算法在ProcessNewFrame()方法中实现,主要包括相邻帧作差、计算水平方向和垂直方向的阈值、分割并标记目标等操作。
③Tracker类:如图7所示,该类实现了对运动目标的跟踪和计数。
目标跟踪的核心算法在InputNewPosition()方法中实现,主要包括计算距离、判别新目标等操作。
图7 Tracker 类 图8 Target 类 ④Target 类:如图8所示,该类主要是描述图像中的运动目标的属性、判别目标是否消失等操作。
(2) 程序流程与框架系统采用C++语言实现,程序的流程与框架及调用过程如图9所示。
图中给出了系统实现的每个类中的函数执行过程。
①MainWin 类执行摄像头初始化,绘制图形界面,从摄像头中读取图像帧交给Process 类进行处理,然后将处理后的结果绘制出来。
②Process 类执行RGB 图转换成灰度图之后,计算算法中说明的动态阈值,根据水平和垂直的阈值计算出目标的个数和所处的位置,然后用红色矩形框进行标记,登记存在的Target ,然后交给Tracker 类进行跟踪部分的分析计算。
返回后将最终识别和跟踪的结果返回给MainWin 类进行显示。
③Tracker 类执行目标的跟踪,首先分析目标是否为新目标或者是在前帧中存在而在当前帧中继续移动的目标(Target),然后分别对不同的分析结果执行相应的操作。
进而进行计数统计,将跟踪和计数的结果返回给Process 。
图9 系统程序流程。