OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
cv::KalmanFilter クラス

カルマンフィルタクラス。 続きを読む...

#include <opencv2/video/tracking.hpp>

Collaboration diagram for 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, [306] を実装している。ただし、transitionMatrix、controlMatrix、measurementMatrix を変更することで、拡張カルマンフィルタの機能を得ることができる。

覚え書き
C APIでは、CvKalman* kalmanFilter 構造体が不要になったら、cvReleaseKalman(&kalmanFilter) で解放する必要がある
samples/cpp/snippets/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

観測値から予測状態を更新する。

引数
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)


このクラス詳解は次のファイルから抽出されました: