资源简介
meanshift和粒子滤波的目标跟踪的相关代码。

代码片段和文件信息
/*
基于彩色直方图和Kalman滤波的视频跟踪算法
Version 0.9
Written by Y. B. Mao
Visual Information Processing and Analysis Group (ViPAG)
Nanjing University of Sci. & Tech.
www.open-image.org
Feb. 9 2006
All rights reserved.
Kalman滤波算法的详细描述,参见:
[1] 徐士良. C常用算法程序集. 清华大学出版社. 1994.
Mean shift跟踪算法的详细描述,请参见:
[1] D. Comaniciu V. Ramesh P. Meer. Real-time tracking of non-rigid
objects using mean shift. Proc. Conf. Vision Pattern Rec. II: 142-149
Hilton Head SC June 2000.
[2] Dorin Comaniciu Visvanathan Ramesh Peter Meer. Kernel-based object
tracking. IEEE Trans. on Pattern Analysis and Machine Intelligence.
Vol.25 No. 5 2003 pp. 554-577.
[3] Huimin QIAN Yaobin MAO Jason GENG Zhiquan WANG. object tracking with
self-updating tracking window. PAISI‘2007.
本代码只可用于非商业用途。如使用本代码请在论文中标注上述三篇参考文献。
*/
# include
# include
# include
# include “MeanShift_KL.h“
/*
用全选主元Gauss-Jordan法求n阶实矩阵A的逆矩阵A^{-1}
输入参数:
double * a: 原矩阵,为一个方阵
int n: 矩阵维数
输出参数:
double * a: 求得的逆矩阵
返回值:
如果返回标记为0,表示矩阵奇异;否则返回非0值
*/
int brinv( double * a int n )
{
int * is * js i j k l u v;
double dp;
is = (int *)malloc( n*sizeof(int) );
js = (int *)malloc( n*sizeof(int) );
for ( k = 0; k < n; k++ )
{
d = 0.0;
for ( i = k; i < n; i++ )
for ( j = k; j < n; j++ )
{
l = i*n+j;
p = fabs(a[l]);
if ( p > d )
{
d = p; is[k] = i; js[k] = j;
}
}
if ( d+1.0 == 1.0 ) /* 矩阵为奇异阵 */
{
free( is );
free( js );
// printf(“err**not inv\n“);
return( 0 );
}
if ( is[k] != k )
for ( j = 0; j < n; j++ )
{
u = k*n+j;
v = is[k]*n+j;
p = a[u]; a[u] = a[v]; a[v] = p;
}
if ( js[k] != k )
for ( i = 0; i < n; i++ )
{
u = i*n+k;
v = i*n+js[k];
p = a[u]; a[u] = a[v]; a[v] = p;
}
l = k*n+k;
a[l] = 1.0/a[l];
for ( j = 0; j < n; j++ )
if ( j != k )
{
u = k*n+j;
a[u] = a[u]*a[l];
}
for ( i = 0; i < n; i++ )
if ( i != k )
for ( j = 0; j < n; j++ )
if ( j != k )
{
u = i*n+j;
a[u] = a[u] - a[i*n+k]*a[k*n+j];
}
for ( i = 0; i < n; i++ )
if ( i != k )
{
u = i*n+k;
a[u] = -a[u]*a[l];
}
}
for ( k = n-1; k >= 0; k-- )
{
if ( js[k] != k )
for ( j = 0; j <= n-1; j++ )
{
u = k*n+j;
v = js[k]*n+j;
p = a[u]; a[u] = a[v]; a[v] = p;
}
if ( is[k] != k )
for ( i = 0; i < n; i++ )
{
u = i*n+k;
v = i*n+is[k];
p = a[u]; a[u] = a[v]; a[v] = p;
}
}
free( is );
free( js );
return(1);
}
/*
一步Kalman滤波程序
对n维线性动态系统与m维线性观测系统
X_k = A_kk-1*X_k-1 + W_k-1
Y_k = H_k*X_k + V_k
k = 12...
X_k为n维状态向量,Y_k为m维观测向量。
A_kk-1(nxn维)为状态转移阵,H_k(nxm维)为观测矩阵
W_k为n维状态噪声向量,一般假设为高斯白噪声,且均值为0,协方差为Q_k
V_k为m维观测噪声向量,一般假设为高斯白噪声,且均值为0,协方差为R_k
Kalman滤波问题就是在已知k个观测向量Y_0Y_1
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 23392 2008-06-04 12:15 VideoTrack_code\MSTracking\MeanShift_KL.cpp
文件 2663 2008-06-04 12:17 VideoTrack_code\MSTracking\MeanShift_KL.h
文件 1653 2008-06-04 16:08 VideoTrack_code\MSTracking\readme.txt
目录 0 2008-06-04 17:23 VideoTrack_code\MSTracking\release
文件 4410 2008-06-04 15:46 VideoTrack_code\MSTracking\SamplGrabberProcessor.cpp
文件 1185 2008-06-04 15:46 VideoTrack_code\MSTracking\SamplGrabberProcessor.h
文件 10453 2008-06-04 16:08 VideoTrack_code\MSTracking\TrackingMS.cpp
文件 3899 2008-06-04 15:48 VideoTrack_code\MSTracking\TrackingMS.dsp
文件 543 2006-02-13 23:26 VideoTrack_code\MSTracking\TrackingMS.dsw
文件 58368 2008-06-04 16:08 VideoTrack_code\MSTracking\TrackingMS.ncb
文件 49664 2008-06-04 16:08 VideoTrack_code\MSTracking\TrackingMS.opt
文件 1645 2008-06-04 16:08 VideoTrack_code\MSTracking\TrackingMS.plg
目录 0 2008-06-04 16:39 VideoTrack_code\MSTracking
文件 24615 2008-06-04 16:57 VideoTrack_code\ParticleTracking\ParticleTracking.cpp
文件 2641 2008-06-04 16:56 VideoTrack_code\ParticleTracking\ParticleTracking.h
文件 1554 2008-06-04 16:53 VideoTrack_code\ParticleTracking\readme.txt
目录 0 2008-06-04 17:31 VideoTrack_code\ParticleTracking\Release
文件 4641 2008-06-04 16:57 VideoTrack_code\ParticleTracking\SamplGrabberProcessor.cpp
文件 1541 2008-06-04 16:57 VideoTrack_code\ParticleTracking\SamplGrabberProcessor.h
文件 10734 2008-06-04 16:57 VideoTrack_code\ParticleTracking\Tracker_Particle.cpp
文件 3969 2006-02-14 12:24 VideoTrack_code\ParticleTracking\Tracker_Particle.dsp
文件 555 2006-02-14 12:24 VideoTrack_code\ParticleTracking\Tracker_Particle.dsw
文件 66560 2008-06-04 16:57 VideoTrack_code\ParticleTracking\Tracker_Particle.ncb
文件 50688 2008-06-04 16:57 VideoTrack_code\ParticleTracking\Tracker_Particle.opt
文件 1894 2008-06-04 16:57 VideoTrack_code\ParticleTracking\Tracker_Particle.plg
目录 0 2008-06-04 17:15 VideoTrack_code\ParticleTracking
文件 1746620 2008-06-04 11:57 VideoTrack_code\test.avi
目录 0 2008-06-04 17:31 VideoTrack_code
----------- --------- ---------- ----- ----
2074105 29
............此处省略2个文件信息
- 上一篇:北京化工大学计算机专业计算机组成原理课程PPT
- 下一篇:恶意网址库
相关资源
- Borland Socket Server程序 包含D6和D7源码
- TCP IP通信labview程序
- 2018西门子杯中国智能制造挑战赛逻辑
- 自已写的 自习室预约小程序微信125
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- E4A无障碍跨程序操作类库(带源码、
- labview魔方程序
- 程序员专用字体YaHei.Consolas.1.11b42517
- scratch3.0 源程序(说相声)
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- SVR算法程序可运行
- labview编程软件滤波器以及编写程序设
- 电力系统潮流计算程序集合
- 仿知乎界面小程序源代码
- STM32蓝牙和串口程序
- elantech触控板驱动程序 v13.6.11 官方最
- 根据硬件ID和程序ID生成注册码
- 用python编写的移动彩信的发送程序
- TCL-S1916 ,1924交换机管理程序
- 51单片机PWM程序,占空比、周期可调整
- 嵌入式图形界面MiniGUI的示例程序9例
- 数字频率合成dds正弦波基于FPGA的DDS产
- 28335CAN调试程序
- 导线测量平差程序 很实用
- USB转串口驱动,FT232R驱动程序,最新
- 改进的BP神经网络算法
- 通风网络解算程序 fortran90
- 编写简单的RMI程序 多线程web 服务器
- 图论软件包(图论里的程序)
评论
共有 条评论