2014-09-10 193 views
0

我正在研究一個對象跟蹤項目,並且我想改進使用卡爾曼濾波器的結果。在卡爾曼濾波器中初始化transitionMatrix

KalmanFilter KF(4 , 2 , 2 ,CV_32F); 
Mat_<float> state(4, 1); 
Mat_<float> processNoise(4, 1, CV_32F); 
Mat_<float> measurement(2 , 1 , CV_32F); 
measurement.setTo(Scalar(0)); 

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.transitionMatrix = *(Mat_<float>(4, 4) << 1,0,1,0, 0,1,0,1, 0,0,1,0, 0,0,0,1); //Including velocity 
在最後一行

,我們有錯誤「Windows已經引發了項目(卡爾曼).exe文件斷點。

這可能是由於堆的腐敗,這表明在項目(一個錯誤卡爾曼).exe或任何已加載的DLL。

這可能也是由於用戶在項目(卡爾曼).exe具有焦點時按下F12。「 請幫幫我:(

回答

0

const的浮動過渡[2] [2] = {1,1,0,1}; 的memcpy(KF.transitionMatrix.data,過渡,的sizeof(過渡));