これは明らかであるはずです。しかし、私はOpenCVのMatでは、すべてのピクセルの中で最大値を見つける簡単な方法を見つけることができません。もちろん、ピクセルタイプごとに以下のことを行うことができます。しかし、一般的なmax関数は依然として有用です。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 iteratorがかなり遅くなることが予想されます。行の終わりに達した場合にチェックする必要があるごとに(Matrixは不連続で、パディングバイトもあるかもしれません) – Antonio