我有一个CV_8U类型的cv::Mat。如果我像这样使用 cv::minMaxLoc 函数:
cv::Mat img(rows, cols, CV_8U, data);
double minVal, maxVal;
cv::Point minLoc, maxLoc;
cv::minMaxLoc(img, &minVal, &maxVal, &minLoc, &maxLoc);
我得到:
最大值 = 255,最大值位置 = [127, 126]
然后,如果我使用以下代码:
img.at<uint8_t>(maxLoc); //or img.at<uint8_t>(127,126);
结果为 0
实际上,我使用 cv::Mat::at 和 cv::imshow() 将矩阵的每个元素都设为零。但是 cv::minMaxLoc 给出了正确的答案。所以我想知道是否有人对为什么这两个函数不同意有任何见解。