2014-01-28 40 views
-2

的元素我想刪除的在OpenCV中如何刪除vec2f

vector<Vec2f> lines; 

元素添加新的元素,我知道我必須做

lines.push_back(a,b); 

同樣我如何刪除元素從它。

我想:

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

,請告訴我,我應該如何刪除數組元素。

回答

1
lines.push_back(a,b); 

是錯誤的。您需要push_back() a Vec2f,例如

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

然後,你將能夠使用:

lines.pop_back(); 

其中在lines末端移除Vec2f,或:

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

其中i是該元素的索引你希望刪除,這反過來刪除您選擇的位置的元素。

爲了進一步解釋,vector僅被用作Vec2f的容器,即它實際上並不知道如何專門處理Vec2f數據。而是指定處理抽象template classes