如何在打开的 cv 中使用向量将一些浮点值存储在 for 循环中

How can I store some float values in a for loop using vector in open cv

本文关键字:循环 for 存储 cv 向量      更新时间:2023-10-16

我有一些浮点值出现在一个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 值存储在向量中以供进一步处理。请帮忙

如果要使用这些值进行进一步处理,则应在 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);
 }
}