如何在 Opencv Mat 对象的每一行中找到最大值的索引
how find index of max in each row of Opencv Mat object
我有一个 OpenCv Mat.The Mat 是 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);
}
}
我有一个 OpenCv Mat.The Mat 是 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);
}
}