如何访问矢量值 std :: 矢量 <cv :: Point2f> pto

how do I access the vector value std :: vector <cv :: Point2f> pto

本文关键字:矢量 lt cv pto gt Point2f std 何访问 访问      更新时间:2023-10-16

如何访问矢量值

std :: vector <cv :: Point2f> pto

转换为单独的矢量x和y

std :: vector <float> x;

已经尝试了几种方法:

x (i) = pto.at <cv :: float> (i) .pt.x

但不起作用

当我需要从像你自己的数组中分别提取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

使用atoperator[]:访问std::vector中的值

std :: vector <float> x (n); // Initializes `x` to hold `n` values.
x.at (i) = pto.at (i) .x;

这将把pto中索引i处的Point2fx分量分配给x向量中的索引i