2012-09-30 36 views
1

我的問題只是令人驚訝。這是密碼cv :: Mat ::零初始化問題

#define NCHANNEL 3 
#define NFRAME 100 
Mat RR = Mat::zeros(NCHANNEL, NFRAME-1, CV_64FC1); 

double *p_0 = RR.ptr<double>(0); 
double *p_1 = RR.ptr<double>(1); 
double *p_2 = RR.ptr<double>(2); 
cout<< p_0[NFRAME-1] << endl << p_1[NFRAME-1] << endl << p_2[NFRAME-1] << endl; 

而輸出是:0 0 -6.27744e + 066。
那個可怕的數字來自哪裏?
它似乎我正在打印一個指針或內存中的東西粗糙。
(呃,當然是0的所有其他元素的值)。

+0

其工作正常。這是你最初的問題部分? –

回答

3

您正在訪問Mat的最後一個元素。如果使用NFRAME-1進行初始化,那麼最後一個元素有NFRAME-2索引。