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



好了,伙计们,我有一组图像点的x,y和z坐标,我想把它转移到vector<Point3f>。我不知道如何使用vector.push_back()来推退单个元素,所以是否有其他像push_back一样简单的方法供我使用?

可以,

    vector<Point3f> points;
    points.push_back(Point3f(0.44,0.30,0.46));
                                x    y    z

这是一种无需使用' 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);
}

相关内容

最新更新