カルマンフィルタクラス。 続きを読む...
#include <opencv2/video/tracking.hpp>
カルマンフィルタクラス。
このクラスは標準的なカルマンフィルタ http://en.wikipedia.org/wiki/Kalman_filter, [302] を実装している。ただし、transitionMatrix、controlMatrix、measurementMatrix を変更することで、拡張カルマンフィルタの機能を得ることができる。
- 覚え書き
- C APIでは、CvKalman* kalmanFilter 構造体が不要になったら、cvReleaseKalman(&kalmanFilter) で解放する必要がある
- 例
- samples/cpp/kalman.cpp.
◆ KalmanFilter() [1/2]
| cv::KalmanFilter::KalmanFilter |
( |
| ) |
|
| Python: |
|---|
| cv.KalmanFilter( | | ) -> | <KalmanFilter object> |
| cv.KalmanFilter( | dynamParams, measureParams[, controlParams[, type]] | ) -> | <KalmanFilter object> |
◆ KalmanFilter() [2/2]
| cv::KalmanFilter::KalmanFilter |
( |
int | dynamParams, |
|
|
int | measureParams, |
|
|
int | controlParams = 0, |
|
|
int | type = CV_32F ) |
| Python: |
|---|
| cv.KalmanFilter( | | ) -> | <KalmanFilter object> |
| cv.KalmanFilter( | dynamParams, measureParams[, controlParams[, type]] | ) -> | <KalmanFilter object> |
これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。
- 引数
-
| dynamParams | 状態ベクトルの次元数。 |
| measureParams | 観測ベクトルの次元数。 |
| controlParams | 制御ベクトルの次元数。 |
| type | 生成される行列の型。CV_32F または CV_64F のいずれかである必要がある。 |
◆ correct()
| const Mat & cv::KalmanFilter::correct |
( |
const Mat & | measurement | ) |
|
| Python: |
|---|
| cv.KalmanFilter.correct( | measurement | ) -> | retval |
◆ 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 |
◆ controlMatrix
| Mat cv::KalmanFilter::controlMatrix |
◆ 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 |
◆ measurementNoiseCov
| Mat cv::KalmanFilter::measurementNoiseCov |
◆ processNoiseCov
| Mat cv::KalmanFilter::processNoiseCov |
◆ 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 |
このクラス詳解は次のファイルから抽出されました: