2015-05-26 72 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