Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opencv 卡尔曼滤波的三维实现_Opencv_Kalman Filter - Fatal编程技术网

Opencv 卡尔曼滤波的三维实现

Opencv 卡尔曼滤波的三维实现,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例子,通常使用位置、速度和加速度。这意味着,

我想在OpenCV中为r3(X,Y,Z坐标)中的移动对象实现卡尔曼滤波器。 我试着去理解,但这真的没有帮助,而且非常罕见

初始化的语法为:

KalmanFilter::KalmanFilter(int dynamParams,int measureParams,int controlParams=0,int type=CV_32F)

在我的例子中,dynamParams=9measureParams=3


在我的例子中,传递矩阵是什么?

我发现,对于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