如何为向量<point3f>数据类型</point3f>赋值

时间:2014-07-21 08:25:29

标签: opencv vector

好的家伙,我有一个图像的一组点的x,y和z坐标,我想将它转移到vector<Point3f>。我不知道如何使用vector.push_back()来推翻单个元素,那么还有其他方法可以像push_back一样简单吗?

2 个答案:

答案 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);
}