从向量中清除opencv rect对象

时间:2014-01-07 13:12:57

标签: c++ object opencv erase rect

我正在使用opencv Rect对象的向量。我想要的是擦除for循环中的一些向量元素。但是,似乎我无法访问vector的erase()函数。我收到以下消息:

  

/ home / christosh / Desktop / recognition-build-desktop-Qt_4_8_1_in_PATH_ 系统 _Release /../ faceRec / src / Detection.cpp:88:错误:'class cv :: Rect_'有没有名为'erase'的成员

我的代码:

     vector<Rect> faces, eyes;
     for(int l=0; l<eyes.size(); l++){
        if(eyes[l].y> faces[i].height){
            eyes[l].erase;
        }
     }

1 个答案:

答案 0 :(得分:2)

你错过了括号吗?这是一个功能。

eyes[l].erase();

编辑:似乎我误解了你的问题。如果是stl :: vector erase,那么你可以从下面的代码中获取提示:你将不得不使用迭代器。

vector<int>::iterator it = res.begin();
for( ; it != res.end(); it++)
{
    it = res.erase(it);
}