资源简介
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
- 下一篇:恶意网址库
相关资源
- MD5暴力破解程序 用SSE2 CPU加速指令集
- 有限元法解偏微分方程程序
- labview程序无线控制的小车
- 小程序智能识别快递收货地址自动解
- 40款微信H5小程序合集+源码
- 基于单片机的立体车库控制系统设计
- 应用程序无法正常启动0xc0150002
- 指纹识别源程序与指纹库
- 程序设计实践(ACM)
- 鸳鸯贴纸相MINI版主程序
- verilog硬件描述语言程序设计与实践教
- 18个常用微信小程序源码
- Qt实现的简单的中国象棋程序
- 暗通道去霾处理源程序
- 基于AT89C51的十字路口交通灯设计pro
- FOR循环语句的翻译程序设计简单优先
- AD7746采集程序
- 外汇EA信号交易发布接收综合版3.01D
- 51单片机125Khz ID卡读卡程序
- 交通灯模拟程序十字路口
- 盒马鲜生-o2o行业小程序
- 四路抢答器源程序+Pro7仿真文件
- 工作台设计内含装配,电路,零件,
- 自学编程创新意:livecoding.tv实时直播
- BCH编译码程序
- 基于Nexys4 ddr开发板的VGA测试程序
- 华为LTE M2000后台网管信令跟踪说明
- 非线性系统观测器的设计:LMI方法论
- 基于嵌入式实时操作系统的程序设计
- 微信小程序源码-合集5.rar
评论
共有 条评论