如何在OpenCV Mat对象的每一行中找到最大索引



我有一个OpenCV垫子。垫子是MLP神经网络的响应。我如何在每一行中找到最大值的索引?

您可以使用minMaxLoc来执行此操作。

Mat img = imread("image.jpg"), row;
double min=0, max=0;
Point minLoc, maxLoc;
for (int i = 0; i < img.rows; i++)
{
    row = img.row(i);
    //maxLoc contains coordinate of maximum value
    minMaxLoc(row, &min, &max, &minLoc, &maxLoc);
}

使用MinMaxIdx对每一行(如前所述)可能更简单:CV :: minmaxidx

void GetMaxValueIndex(const cv::Mat src_mat) {
  double min_value;
  int minidx;
  std::vector<double> min_value_vec;
  std::vector<int> min_idx_vec;
  for (int i = 0; i < src_mat.rows; i++) {
    cv::minMaxIdx(cls_confs.row(i), &minvalue, NULL, &minidx, NULL);
    min_value_vec.push_back(min_value);
    min_idx_vec.push_back(min_idx);
  }
}

最新更新