我有几个问题:卡尔曼滤波器:有些怀疑
在example OpenCV的文件中给出:
/*生成测量*/ cvMatMulAdd(kalman-> measurement_matrix,状态,测量,测量 );
这是正确的吗? 在教程:An Introduction to the Kalman Filter由韦尔奇和Bishop 在等式1.2它说测量= H *状态+测量噪声
似乎并不都是一样的。
- 我试图实现bouncing ball tracking单球。 我试过如下:(请指出,如果我不当做这件事。)
对于我测量两点测量:球的质心的)X B)Y。
我只是提到了与opencv文档中给出的示例不同的行。
CvKalman* kalman = cvCreateKalman(5, 2, 0);
const float A[] = { 1, 0, 1, 0, 0,
0, 1, 0, 1, 0,
0, 0, 1, 0, 0,
0, 0, 0, 1, 1,
0, 0, 0, 0, 1};
CvMat* state = cvCreateMat(5, 1, CV_32FC1);
CvMat* measurement = cvCreateMat(2, 1, CV_32FC1);
//initialize the state of kalman filter
state->data.fl[0] = mean_c;
state->data.fl[1] = mean_r;
state->data.fl[2] = mean_c - prev_mean_c;
state->data.fl[3] = mean_r - prev_mean_r;
state->data.fl[4] = 9.81;
初始化后,这是什么让崩溃
cvMatMulAdd(kalman-> transition_matrix,州, kalman-> process_noise_cov,状态);
检查此链接一个线程卡尔曼解释讨论: http://stackoverflow.com/questions/5478881/kalman-filtering-for-programmers – 2012-05-28 08:43:06