0

我有一个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 给出了正确的答案。所以我想知道是否有人对为什么这两个函数不同意有任何见解。

4

0 回答 0