OpenCV  4.10.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[296]。但是,您可以修改 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)


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