스터디 노트

겉으로는 틀만 제공해준다는 느낌? 직접 구현하는 것과 달라보이지는 않지만 더 빠른 연산을 위한 어떠한 차이가 있을지 모르겠다.

Library

#include <opencv2/video/tracking.hpp>
#include <opencv2/highgui/highgui.hpp>

Function

cv::KalmanFilter predict(), correct(Mat measurement) 예측-->statePre, 추정-->statePost
cv::Mat statePre predicted state  
cv::Mat statePost corrected state  
cv::Mat transitionMatrix A or F  
cv::Mat controlMatrix B  
cv::Mat measurementMatrix H  
cv::Mat processNoiseCov Q  
cv::Mat measurementNoiseCov R  
cv::Mat errorCovPre P'  
cv::Mat errorCovPost P  
cv::Mat gain K  

Initialization Example

KalmanFilter KF(4, 2, 0); // State variable 4, Measurement variable 2
Mat state(4, 1,CV_32F); // State vector (px, py, vx, vy)
Mat processNoise(4, 1, CV_32F); // Noise
Mat measurement(4, 1, CV_32F); // Measurement vector

KF.transitionMatrix = (Mat(4, 4,CV_32F) <<
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1);
setIdentity(KF.measurementMatrix); //H
setIdentity(KF.processNoiseCov,Scalar::all(1e-2)); //Q
setIdentity(KF.measuremnetNoiseCov, Scalar::all(1e-1)); //R
setIdentity(KF.errorCovPost, Scalar::all(1)); // P'

KF.statePre.at<float>(0,0) = ~~;
KF.statePre.at<float>(1,0) = ~~;
KF.statePre.at<float>(2,0) = ~~:
KF.statePre.at<float>(3,0) = ~~;

KF.statePost.at<float>(0,0) = ~~;
KF.statePost.at<float>(1,0) = ~~;

profile

스터디 노트

@myeongkyun

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!