這應該是顯而易見的,我想。但是我找不到在OpenCV Mat中所有像素中找到最大值的簡單方法。當然,我可以爲每種像素類型進行跟蹤。但一般的最大功能仍然有用。如何計算OpenCV中Mat的最大像素值
double cvMax(cv::Mat& mat)
{
float max=0;
float* pData=(float*)mat.data;
for(int i=0;i<mat.rows;i++)
{
for(int j=0;j<mat.cols;j++)
{
float value = pData[j+i*mat.cols];
if(value>max)
{
max=value;
}
}
}
return max;
}
值得一提的是,max_element返回一個迭代器。 – twerdster
一個注意:我期望Mat迭代器非常慢,因爲在每個增量處它必須檢查是否到達行的末尾(Matrix可能不連續,並且可能還有填充字節) – Antonio