OpenCV中如何从n维数组中获取最大值

2023-12-25

我试图从 3-d Mat 中获取最大值,但 minmaxIdx 和 mixmaxloc 都未能做到这一点。

int sz[] = {BIN, BIN, BIN};
Mat accumarray(3, sz, CV_8U, Scalar::all(0)) ;
double testMaxval = 0;
int minIdx = accumarray.dims ;
minMaxIdx(accumarray, NULL, &testMaxval,NULL,minIdx ,NULL) ;
cout<<testMaxval<<endl ;

这段代码不起作用,那么我可以使用 max()、minmaxidx() 或 minmaxloc() 来有效地获取最大值,而无需手动处理整个 n 维数组吗?


以下代码适用于 OpenCV 2.3.1:

int sz[] = {3, 3, 3};
Mat accumarray(3, sz, CV_8U, Scalar::all(0));
accumarray.at<uchar>(0, 1, 2) = 20;
double testMaxval;
int maxIdx[3];
minMaxIdx(accumarray, 0, &testMaxval, 0, maxIdx);
cout << testMaxval << endl ;
cout << maxIdx[0] << ", " << maxIdx[1] << ", " << maxIdx[2] << endl;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OpenCV中如何从n维数组中获取最大值 的相关文章

随机推荐