好的家伙,我有一个图像的一组点的x,y和z坐标,我想将它转移到vector<Point3f>
。我不知道如何使用vector.push_back()
来推翻单个元素,那么还有其他方法可以像push_back
一样简单吗?
答案 0 :(得分:2)
是的,你可以:
vector<Point3f> points;
points.push_back(Point3f(0.44,0.30,0.46));
x y z
答案 1 :(得分:1)
这是一种在不使用`pushback()的情况下填充向量的方法,使用C ++ 11
void push_points(int N, float* x float* y, float* z, std::vector<cv::Point3f>& points)
{
points.resize(N);
for(cv::Point3f & point : points)
point = cv::Point3f(x, y, z);
}
使用旧的C ++
void push_points(int N, float* x float* y, float* z, std::vector<cv::Point3f>& points)
{
points.resize(N);
for(int i = 0; i < N; ++i)
points[i] = cv::Point3f(x, y, z);
}