如何在open cv中使用向量在for循环中存储一些浮点值

时间:2018-03-12 16:30:18

标签: c++ opencv

我有一些浮点值出现在for循环中。现在我想将这些值存储在一个向量中以便进一步处理。我可以用opencv 2.4.9编写。这是代码

for(int i= 0; i < contours.size(); i++)
{
for(int j= 0; j < contours[i].size();j++)
{
boundry.x= contours[i][j].x;
     boundry.y=contours[i][j].y ;
     float distx = x_comp-boundry.x;
    float disty = y_comp-boundry.y;
    float dist=sqrt((distx*distx)+(disty*disty));
}
}

现在我必须将这些dist值存储在一个向量中以便进一步处理。请帮忙

1 个答案:

答案 0 :(得分:1)

如果要使用这些值进行进一步处理,则应在for循环之外定义向量,否则不会保存数据。然后你可以使用一个简单的标准向量和push_back。

std::vector<float> distance;
for(int i= 0; i < contours.size(); i++)
{
 for(int j= 0; j < contours[i].size();j++)
 {
    boundry.x= contours[i][j].x;
    boundry.y= contours[i][j].y ;
    float distx = x_comp-boundry.x;
    float disty = y_comp-boundry.y;
    float dist=sqrt((distx*distx)+(disty*disty));
    distance.push_back(dist);
 }
}