资 源 简 介
针对camshift跟踪容易丢失目标问题,加入了kalman滤波来预测下一个可能存在的位置,跟踪丢失的几率降低。cam-shift算法的原型是mean-shift算法,后者的核心是沿某种函数的梯度方向迭代,之后根据迭代次数和误差阈值收敛于某一个范围,这个范围就是“要找”的区域。 这个函数是目标区域色彩直方图在当前关键帧的投影得到的图像,可以把这个图像理解成一种空间函数分布——色彩地形图。 cam-shift算法是对mean-shift算法的升级,可以进行窗口可变的迭代……cam-shift是一种基于密度函数迭代的跟踪算法,对运动不敏感,所以不能进行两帧之间目标的关联分析(这一部分要我们自己做)。而这个算法之所以能够用来跟踪,我认识是算法的前提假设,相连帧间目标的运动是微小的,即运动是近似连续的,这样密度函数是连续的,就可以沿梯度方向寻找局部最优值,这是这个局部最值就是目标区域。 cam-shift算法很容易跟丢,这是因为密度函数可能有多个峰,而梯度搜索很容易掉进局部最优值,而不能再到全局最优。多峰值的出现是因为背景的干扰。所以密度函数的选取,即目标特征的表示方式,是一个很重要的部分。
文 件 列 表
kalman_camshift追踪白点
camshift_kalman.sln
camshift_kalman.suo
camshift_kalman.vcproj.PC-DEEPIN.Administrator.user
camshift_kalmand.exe
camshift_kalmand.ilk
camshift_test.vcproj
camshift_test.vcproj.PC-DEEPIN.Administrator.user
camshift_testd.ilk
kal.c
kal.h
kalman.cpp
kalman.h
kalmanT.c
msvcr80.dll
从视频跟踪.bat
camshift_kalman.ncb
camshift_test.c
camshift_testd.exe
outx.AVI