OpenCV:计算一组 cv::Mat 的统计模式



我使用以下方法获取一组 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;
    }
}

有没有其他方法可以更有效地计算模式?

计算直方图并使用直方图中的峰值。您可以修改 opencv 已经提供的代码以计算模式。本页还介绍了直方图及其使用方法。

相关内容

  • 没有找到相关文章

最新更新