OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::KalmanFilter 类参考

卡尔曼滤波器类。 更多…

#include <opencv2/video/tracking.hpp>

cv::KalmanFilter 协作图

公共成员函数

 KalmanFilter ()
 
 KalmanFilter (int dynamParams, int measureParams, int controlParams=0, int type=CV_32F)
 
const Matcorrect (const Mat &measurement)
 根据测量值更新预测状态。
 
void init (int dynamParams, int measureParams, int controlParams=0, int type=CV_32F)
 重新初始化卡尔曼滤波器。之前的內容将被销毁。
 
const Matpredict (const Mat &control=Mat())
 计算预测状态。
 

公共属性

Mat controlMatrix
 控制矩阵 (B)(如果没有控制则不使用)
 
Mat errorCovPost
 后验误差估计协方差矩阵 (P(k)): P(k)=(I-K(k)*H)*P'(k)
 
Mat errorCovPre
 先验误差估计协方差矩阵 (P'(k)): P'(k)=A*P(k-1)*At + Q)*‍/
 
Mat gain
 卡尔曼增益矩阵 (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)
 
Mat measurementMatrix
 测量矩阵 (H)
 
Mat measurementNoiseCov
 测量噪声协方差矩阵 (R)
 
Mat processNoiseCov
 过程噪声协方差矩阵 (Q)
 
Mat statePost
 校正状态 (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k))
 
Mat statePre
 预测状态 (x'(k)): x(k)=A*x(k-1)+B*u(k)
 
Mat temp1
 
Mat temp2
 
Mat temp3
 
Mat temp4
 
Mat temp5
 
Mat transitionMatrix
 状态转移矩阵 (A)
 

详细描述

卡尔曼滤波器类。

此类实现标准卡尔曼滤波器 http://en.wikipedia.org/wiki/Kalman_filter[297]。但是,您可以修改 transitionMatrix、controlMatrix 和 measurementMatrix 以获得扩展卡尔曼滤波器功能。

注意
在 C API 中,当不再需要 CvKalman* kalmanFilter 结构时,应使用 cvReleaseKalman(&kalmanFilter) 释放它。
示例
samples/cpp/kalman.cpp.

构造函数和析构函数文档

◆ KalmanFilter() [1/2]

cv::KalmanFilter::KalmanFilter ( )
Python
cv.KalmanFilter() -> <KalmanFilter 对象>
cv.KalmanFilter(dynamParams, measureParams[, controlParams[, type]]) -> <KalmanFilter 对象>

◆ KalmanFilter() [2/2]

cv::KalmanFilter::KalmanFilter ( int dynamParams,
int measureParams,
int controlParams = 0,
int type = CV_32F )
Python
cv.KalmanFilter() -> <KalmanFilter 对象>
cv.KalmanFilter(dynamParams, measureParams[, controlParams[, type]]) -> <KalmanFilter 对象>

这是一个重载的成员函数,为了方便提供。它与上面的函数的区别仅在于它接受的参数。

参数
dynamParams状态的维数。
measureParams测量的维数。
controlParams控制向量的维数。
type创建矩阵的类型,应为 CV_32F 或 CV_64F。

成员函数文档

◆ correct()

const Mat & cv::KalmanFilter::correct ( const Mat & measurement)
Python
cv.KalmanFilter.correct(measurement) -> retval

根据测量值更新预测状态。

参数
measurement测量的系统参数

◆ init()

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

重新初始化卡尔曼滤波器。之前的內容将被销毁。

参数
dynamParams状态的维数。
measureParams测量的维数。
controlParams控制向量的维数。
type创建矩阵的类型,应为 CV_32F 或 CV_64F。

◆ predict()

const Mat & cv::KalmanFilter::predict ( const Mat & control = Mat())
Python
cv.KalmanFilter.predict([, control]) -> retval

计算预测状态。

参数
control可选的输入控制

成员数据文档

◆ controlMatrix

Mat cv::KalmanFilter::controlMatrix

控制矩阵 (B)(如果没有控制则不使用)

◆ errorCovPost

Mat cv::KalmanFilter::errorCovPost

后验误差估计协方差矩阵 (P(k)): P(k)=(I-K(k)*H)*P'(k)

◆ errorCovPre

Mat cv::KalmanFilter::errorCovPre

先验误差估计协方差矩阵 (P'(k)): P'(k)=A*P(k-1)*At + Q)*‍/

◆ gain

Mat cv::KalmanFilter::gain

卡尔曼增益矩阵 (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)

◆ measurementMatrix

Mat cv::KalmanFilter::measurementMatrix

测量矩阵 (H)

◆ measurementNoiseCov

Mat cv::KalmanFilter::measurementNoiseCov

测量噪声协方差矩阵 (R)

◆ processNoiseCov

Mat cv::KalmanFilter::processNoiseCov

过程噪声协方差矩阵 (Q)

◆ statePost

Mat cv::KalmanFilter::statePost

校正状态 (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k))

◆ statePre

Mat cv::KalmanFilter::statePre

预测状态 (x'(k)): x(k)=A*x(k-1)+B*u(k)

◆ temp1

Mat cv::KalmanFilter::temp1

◆ temp2

Mat cv::KalmanFilter::temp2

◆ temp3

Mat cv::KalmanFilter::temp3

◆ temp4

Mat cv::KalmanFilter::temp4

◆ temp5

Mat cv::KalmanFilter::temp5

◆ transitionMatrix

Mat cv::KalmanFilter::transitionMatrix

状态转移矩阵 (A)


此类的文档是从以下文件生成的