如何访问矢量值
std :: vector <cv :: Point2f> pto
进入单独的向量x和y
std :: vector <float> x;
已经尝试了几种方法:
x (i) = pto.at <cv :: float> (i) .pt.x
但没有效果
答案 0 :(得分:1)
当我需要从像你自己的数组中分别提取X和Y值时,我这样做了:
std::vector<cv::Point2f> corners;
//stuff
cornersSize = corners.size();
for(int k=0; k<cornersSize; k++){ //goes through all cv::Point2f in the vector
float x = corners[k].x; //first value
float y = corners[k].y; //second value
//stuff
}
文档包含所有内容 - http://docs.opencv.org/modules/core/doc/basic_structures.html
答案 1 :(得分:0)
您可以使用at
或operator[]
访问std::vector
中的值:
std :: vector <float> x (n); // Initializes `x` to hold `n` values.
x.at (i) = pto.at (i) .x;
这会将x
中Point2f
的{{1}}组件分配到i
的索引pto
,以i
向量中的x
索引。< / p>