Я хочу удалить некоторые индексы из вектора внутри цикла.
настоящее время у меня следующий код:Удалить элементы из вектора внутри цикла
static void store_faces(Mat image, vector<Rect> faces, string path, string fileName){
SkinDetector mySkinDetector;
int counter = 0;
for(int i = 0; i < faces.size(); i++){
Mat temp = image(faces.at(i));
double ratio= mySkinDetector.getSkin(temp);
cout << "found face skin ratio.. " << ratio << endl;
string file_name = path+ fileName + "_"+ NumberToString(counter)+".jpg";
imwrite(file_name, temp);
counter+=1;
}
}
, и я хочу, чтобы удалить эти лица, которые имеют ratio < 0.5
. Как можно удалить элементы из vector<Rect> faces
?
возможный дубликат [Удаление элементов из вектор] (http://stackoverflow.com/questions/347441/erasing-elements-from-a-vector) – CoryKramer
Что это имеет отношение к opencv? – Adam
+1 adam. Простое решение, переверните вектор назад и удалите элемент с помощью my_vector.erase (my_vector.begin() + i). – biquette