在opencv中如何删除vec2f的一个元素

时间:2014-01-28 05:36:08

标签: opencv

我想删除

的元素
  vector<Vec2f> lines;

添加一个我知道必须要做的新元素

lines.push_back(a,b);

同样如何从中删除元素。

我试过了:

lines.pop_back(a,b);
lines.remove(a,b);
lines.delete(a,b);

请告诉我应该如何删除数组元素。

1 个答案:

答案 0 :(得分:1)

lines.push_back(a,b);

错了。您需要push_back()一个Vec2f,例如

// initialize Vec2f 'v' with values a, b
cv::Vec2f v(a, b);
// add to container
lines.push_back(v);

然后你就可以使用:

lines.pop_back();

删除Vec2f末尾的lines或:

lines.erase(lines.front() + i);

其中i是您要删除的元素的索引,而后者会删除您所选位置的元素。

为了进一步解释,vector仅用作Vec2f的容器,即它实际上并不知道如何专门处理Vec2f数据。相反,它被指定处理抽象的template classes