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


此類文件是從以下檔案生成的