OpenCV: cv::KalmanFilter Class Reference

| OpenCV 3.4.2 Open Source Computer Vision

Public Member Functions | Public Attributes | List of all members
cv::KalmanFilter Class Reference
Video Analysis » Object Tracking

Kalman filter class. More...

`#include "tracking.hpp"`

## Public Member Functions
| KalmanFilter ()
| KalmanFilter (int dynamParams, int measureParams, int controlParams=0, int type=CV_32F)
const Mat & | correct (const Mat &measurement)
| Updates the predicted state from the measurement. More...
void | init (int dynamParams, int measureParams, int controlParams=0, int type=CV_32F)
| Re-initializes Kalman filter. The previous content is destroyed. More...
const Mat & | predict (const Mat &control=Mat())
| Computes a predicted state. More...

## Public Attributes
Mat | controlMatrix
| control matrix (B) (not used if there is no control) More...
Mat | errorCovPost
| posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k) More...
Mat | errorCovPre
| priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)*/ More...
Mat | gain
| Kalman gain matrix (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R) More...
Mat | measurementMatrix
| measurement matrix (H) More...
Mat | measurementNoiseCov
| measurement noise covariance matrix (R) More...
Mat | processNoiseCov
| process noise covariance matrix (Q) More...
Mat | statePost
| corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k)) More...
Mat | statePre
| predicted state (x'(k)): x(k)=A*x(k-1)+B*u(k) More...
Mat | temp1
Mat | temp2
Mat | temp3
Mat | temp4
Mat | temp5
Mat | transitionMatrix
| state transition matrix (A) More...

## Detailed Description

Kalman filter class.

The class implements a standard Kalman filter http://en.wikipedia.org/wiki/Kalman_filter, [Welch95] . However, you can modify transitionMatrix, controlMatrix, and measurementMatrix to get an extended Kalman filter functionality.

Note
  In C API when CvKalman* kalmanFilter structure is not needed anymore, it should be released with cvReleaseKalman(&kalmanFilter)

Examples:
  kalman.cpp.

## Constructor & Destructor Documentation

## ◆ KalmanFilter() [1/2]

cv::KalmanFilter::KalmanFilter | ( |  | ) |

## ◆ KalmanFilter() [2/2]

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

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters

  dynamParams | Dimensionality of the state.
  measureParams | Dimensionality of the measurement.
  controlParams | Dimensionality of the control vector.
  type | Type of the created matrices that should be CV_32F or CV_64F.

## Member Function Documentation

## ◆ correct()

const Mat& cv::KalmanFilter::correct | ( | const Mat & | measurement | ) |

Updates the predicted state from the measurement.

Parameters

  measurement | The measured system parameters

## ◆ init()

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

Re-initializes Kalman filter. The previous content is destroyed.

Parameters

  dynamParams | Dimensionality of the state.
  measureParams | Dimensionality of the measurement.
  controlParams | Dimensionality of the control vector.
  type | Type of the created matrices that should be CV_32F or CV_64F.

## ◆ predict()

const Mat& cv::KalmanFilter::predict | ( | const Mat & | control = `Mat()` | ) |

Computes a predicted state.

Parameters

  control | The optional input control

## Member Data Documentation

## ◆ controlMatrix

Mat cv::KalmanFilter::controlMatrix

control matrix (B) (not used if there is no control)

## ◆ errorCovPost

Mat cv::KalmanFilter::errorCovPost

posteriori error estimate covariance matrix (P(k)): P(k)=(I-K(k)*H)*P'(k)

## ◆ errorCovPre

Mat cv::KalmanFilter::errorCovPre

priori error estimate covariance matrix (P'(k)): P'(k)=A*P(k-1)*At + Q)*/

## ◆ gain

Mat cv::KalmanFilter::gain

Kalman gain matrix (K(k)): K(k)=P'(k)*Ht*inv(H*P'(k)*Ht+R)

## ◆ measurementMatrix

Mat cv::KalmanFilter::measurementMatrix

measurement matrix (H)

## ◆ measurementNoiseCov

Mat cv::KalmanFilter::measurementNoiseCov

measurement noise covariance matrix (R)

## ◆ processNoiseCov

Mat cv::KalmanFilter::processNoiseCov

process noise covariance matrix (Q)

## ◆ statePost

Mat cv::KalmanFilter::statePost

corrected state (x(k)): x(k)=x'(k)+K(k)*(z(k)-H*x'(k))

## ◆ statePre

Mat cv::KalmanFilter::statePre

predicted state (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

state transition matrix (A)

The documentation for this class was generated from the following file:

- video/include/opencv2/video/tracking.hpp