Opencv 卡尔曼滤波的三维实现
我想在OpenCV中为r3(X,Y,Z坐标)中的移动对象实现卡尔曼滤波器。 我试着去理解,但这真的没有帮助,而且非常罕见 初始化的语法为: KalmanFilter::KalmanFilter(int dynamParams,int measureParams,int controlParams=0,int type=CV_32F) 在我的例子中,dynamParams=9和measureParams=3Opencv 卡尔曼滤波的三维实现,opencv,kalman-filter,Opencv,Kalman Filter,我想在OpenCV中为r3(X,Y,Z坐标)中的移动对象实现卡尔曼滤波器。 我试着去理解,但这真的没有帮助,而且非常罕见 初始化的语法为: KalmanFilter::KalmanFilter(int dynamParams,int measureParams,int controlParams=0,int type=CV_32F) 在我的例子中,dynamParams=9和measureParams=3 在我的例子中,传递矩阵是什么?我发现,对于3D例子,通常使用位置、速度和加速度。这意味着,
在我的例子中,传递矩阵是什么?我发现,对于3D例子,通常使用位置、速度和加速度。这意味着,对于OpenCV实现,dynamParams=9和measureParams=3是正确的。在这种情况下,转换矩阵A如下所示:
A = [1, 0, 0, v, 0, 0, a, 0, 0;
0, 1, 0, 0, v, 0, 0, a, 0;
0, 0, 1, 0, 0, v, 0, 0, a;
0, 0, 0, 1, 0, 0, v, 0, 0;
0, 0, 0, 0, 1, 0, 0, v, 0;
0, 0, 0, 0, 0, 1, 0, 0, v;
0, 0, 0, 0, 0, 0, 1, 0, 0;
0, 0, 0, 0, 0, 0, 0, 1, 0;
0, 0, 0, 0, 0, 0, 0, 0, 1]
与
看
v = dt
a = 0.5*dt^2