http://answers.opencv.org/question/52698/whats-the-difference-between-minmaxloc-and-minmaxidx/
minMaxLoc针对单通道图像,minMaxIdx则不限制(不过输出的坐标会变成三维)。
cv::Mat foo1(3,3,CV_8UC1);
foo1.setTo(1);
foo1.at<uchar>(1,1) = 2;
double a,b;
cv::Point p1,p2;
cv::minMaxLoc(foo1,&a,&b,&p1,&p2);
// 1 2 [0, 0] [1, 1]
cout << a << " " << b << " " << p1 << " " << p2 << endl;
int arr[3] = {4,3,2};
cv::Mat foo2(3, arr, CV_8UC1);
foo2.setTo(0);
foo2.at<uchar>(2,1,0) = 2;
int minInd[3];
int maxInd[3];
cv::minMaxIdx(foo2, &a, &b, minInd, maxInd, cv::Mat());
// 0 2 [0 0 0] [2 1 0]
cout << a << " " << b << " [" << minInd[0] << " " << minInd[1] << " " << minInd[2] << "] [" << maxInd[0] << " " << maxInd[1] << " " << maxInd[2] << "]" << endl;