...
vector<KeyPoint> keypoints1;
for(vector<KeyPoint>::iterator it = keypoints1.begin();it != keypoints1.end();it++)
{
if((*it).pt.x>138 && (*it).pt.x<315){
keypoints_1.erase(it);
it=keypoints_1.begin();//要重置迭代器的位置,因为用erase删除元素后该位置的迭代器已经失效了,不重置会出错
}
...
C++中vector容器中利用erase()按条件正确删除某些元素
最新推荐文章于 2023-09-25 10:48:50 发布