好了,伙计们,我有一组图像点的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);
}