2013-01-23 52 views
2

的統計模式,我用下面獲得一組簡歷的統計模式::墊:OpenCV的:計算一組CV ::墊

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

有沒有其他的方法來計算模式更有效率?

回答

1

計算直方圖並使用直方圖中的峯值。您可以修改code already provided by opencv來計算模式。本頁面還介紹了直方圖和不同的使用方法。