如何访问向量 x 中的每个元素<Mat>以获得最大和最小值



我想得到this中的每个元素:vector x所以我可以比较每个元素,得到向量中每个Mat的最大值和最小值我正在尝试这样做,但遇到了异常:if(max<=refG[i].at(j,k((

int max_Val(vector<Mat> refG)
{
refG.reserve(m);
int max = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < s; k++)
{
if (max <= refG[i].at<int>(j,k))
{
max = refG[i].at<int>(j,k);
}
}
}
}
return max;
}

初始化向量的第一个元素的max和min,然后使用循环,您可以访问所有其他元素,并将它们与max和min进行比较。类似的东西

max = min = x[0];
for (int i = 1; i < x.size(); ++i) {
if (x[i] < min) min = x[i];
else if (x[i] > max) max = x[i];
}

在矢量中查找MAX和MIN的替代方法:*max_element(first_index,last_index(;*min_element(first_index,last_index(

例如:向量a={1,45,54,71,76,12};

// Print the vector 
cout << "Vector: "; 
for (int i = 0; i < a.size(); i++) 
cout << a[i] << " "; 
cout << endl; 
// Find the max element 
cout << "nMax Element = "
<< *max_element(a.begin(), a.end());  // Max = 76