我已經聲明瞭一個矢量,該矢量存儲給定幀中所有邊界框的區域。然後我從頭到尾使用迭代此向量來檢索值。然後我按升序對這些值進行排序(最低 - >最高)。從矢量中檢索兩個最高值
這裏是我使用的代碼:
double area = contourArea(boundingBoxArea);
list_area.push_back(area);
sort(list_area.begin(), list_area.end());
vector<double>::const_iterator area_iter;
int i = 0;
for(area_iter = list_area.begin(); area_iter != list_area.end(); area_iter++)
{
i++;
cout<<"Iterator " <<i<< " size is : " <<*area_iter<<endl;
}
我的問題是,我只在最後兩個值有意出一組數字(2個最高值),但我真的不能避開我的頭它應該如何去實現我的目標。
任何人在這裏有一個建議或解決我的問題...?
問候
在'greater'比較器中使用'partial_sort'將兩個最大值排序到前面。或者,只需遍歷列表並確定兩個最大的值。 – 2013-02-23 02:41:10