2

以下を使用して、一連の cv::Mat の統計モードを取得しています。

vector<Mat> imgs(30);
...
...

Mat mode = Mat::zeros(imgRows, imgCols, CV_8U);
for(int i=0;i<mode.rows;i++)
{
    for(int j=0;j<mode.cols;j++)
    {
        vector<int>count(256,0);
        int maxIndex=0, maxCount=0;
        int index;
        for(int n=0;n<imgs.size();n++)
        {
            index = imgs[n].at<uchar>(i,j);
            count[index]++;
            if(count[index] > maxCount)
            {
                maxCount = count[index];
                maxIndex = index;
            }
        }
        mode.at<uchar>(i,j) = maxIndex;
    }
}

モードをより効率的に計算する他の方法はありますか?

4

1 に答える 1

1

ヒストグラムを計算し、ヒストグラムのピーク値を使用します。opencv によって既に提供されているコードを変更して、計算モードにすることができます。このページでは、ヒストグラムとそのさまざまな使用方法についても説明します。

于 2015-03-20T04:18:19.940 に答える