我有一个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);
}
}