前两天用网上某个opencv带的kalman滤波追踪鼠标点的程序改编了一下,给定一组轨迹上的点,预测下一时刻点的位置。用的转移矩阵是
[1 0 1 0 ;
0 1 0 1;
0 0 1 0;
0 0 0 1]
(匀速直线运动)在轨迹的是有好多个弯的曲线的时候,会有滞后。
红色的圈是给定的值。绿色的点是预测。可以看出滞后。
当然可以通过修改状态转移矩阵来修改。
[1 , 0 , 1 , 0.5 ;
0 , 1 , 0.5 , 1;
0 , 0 , 1 , 0;
0 , 0 , 0 , 1]
当然好像还是用EKF比较准,但是我实在不知道 f 应该用什么比较好。。
注:X(k) = f (X(k-1),Uk,0)
再把这两天查到的kalman滤波比较好的网址放在这里存一份。。
1.OpenCV学习笔记(三十六)——Kalman滤波做运动目标跟踪
http://blog.youkuaiyun.com/yang_xian521/article/details/7050398
2. kalman 滤波 演示与opencv代码
http://blog.youkuaiyun.com/onezeros/article/details/6318944
3.
OpenCV 卡尔曼滤波器的使用
http://www.cnblogs.com/feisky/archive/2009/12/04/1617287.html
4.
目标跟踪学习笔记_5(opencv中kalman点跟踪例子)http://www.cnblogs.com/tornadomeet/archive/2012/08/19/2646412.html
5.MATLAB EKF的小程序
http://www.mathworks.com/matlabcentral/fileexchange/18189
6.一份C++代码。追踪鼠标点的运动。
http://www.mathworks.com/matlabcentral/fileexchange/18189
7 .Kalman C++ (我没有去跑这份程序)
http://ghyan1208.blog.163.com/blog/static/162866676201081410419295/
8.A C++, object-oriented, Extended Kalman Filter library.(没有跑。。)
http://sourceforge.net/projects/kalman/
9.EKF/UKF Toolbox for Matlab V1.3(跑了例子,可以用)
http://becs.aalto.fi/en/research/bayes/ekfukf/
10.Examples of (extended)Kalman Filtering(C++)
http://mys.utia.cas.cz:1800/trac/bdm/doxygen/library/doc//html/kalman.html
11.我也不知道这是个啥。。(C++)
https://code.google.com/p/easykf/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
二师兄让把tld的C++中的光流抠出来。。我抠出来了。。能跑。。他让改成纯C的。。Σ( ° △ °|||)︴ 不要opencv。。
菜鸟表示C++和C都需要现学。。早知道当年上课的时候好好听课作业也不要抄了。。( >﹏<。)~呜呜呜……