9

これは明らかなはずだと私は思いました。しかし、MatofOpenCVのすべてのピクセルの中で最大値を見つける簡単な方法を見つけることができません。もちろん、ピクセルタイプごとに次のことを行うことができます。ただし、一般的なmax関数は引き続き役立ちます。

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;
}
4

3 に答える 3

17

opencvのイテレータでstd max_element関数をいつでも使用できます

std::max_element(Mat.begin<double>(),Mat.end<double>());
于 2012-09-20T22:40:38.353 に答える
9

使用できる cv::minMaxLoc 組み込み関数もあります。std::max_element はあなたの場合はより簡単です。

于 2012-09-21T03:19:07.953 に答える