OpenCV找到所有最小最大点

时间:2019-02-26 11:59:01

标签: opencv

minMaxLoc仅返回找到的第一个点。但是,该最小值或最大值可能会超过一个点。是否有内置函数可以找到所有要点?为什么minMaxLoc只返回1个位置,它只看本地点吗?

1 个答案:

答案 0 :(得分:2)

由于您知道最小值或最大值,因此可以遍历矩阵并找到位置。

示例:

vector<Point> max_values;
vector<Point> min_values;

for (int y=0;y<matrix.rows<y++){
   for (int x=0;x<matrix.cols<x++){
       if (matrix.at<float>(y,x) == max_val){ 
          max_values.push_back(Point(x,y));
       }
       if (matrix.at<float>(y,x) == min_val){ 
          min_values.push_back(Point(x,y));
       }
   }
}

我没有尝试过代码,但是应该是这样的