2015-05-26 74 views
0

我想在OpenCV中使用4-d矩陣,初始化部分看起來是這樣的:我如何訪問OpenCV中高維矩陣的元素?

int feature_points_size[] = {bincellDim.x , bincellDim.y , bincellDim.z , 100}; 
feature_points.create(4 , feature_points_size , CV_64F); 

但圖書館沒有讓我「在」像這樣與訪問feature_points的元素:

feature_points.at<double>(k , j , i , l) = stickfea_code.at<double>(l , 0); 
feature_points.at<double>(k , j , i , l + 50) = countfea_code.at<double>(l , 0); 

似乎Mat.at <>不具備4個輸入 什麼來訪問它的元素的最佳實踐的版本?

thx提前!

回答

1

cv::Mat::at<>確實,實際上有一個n-dim過載,您將需要使用T& Mat::at(const int* idx)版本。
或者,只寫你自己的(外部)的包裝,你可能會使用這樣的:

at4D<double>(feature_points,k,j,i,l); 
+0

我決定使用mat.data,謝謝 – fromandto