如何在打开的 cv 中使用向量将一些浮点值存储在 for 循环中
Posted
技术标签:
【中文标题】如何在打开的 cv 中使用向量将一些浮点值存储在 for 循环中【英文标题】:How can I store some float values in a for loop using vector in open cv 【发布时间】:2018-03-12 16:30:18 【问题描述】:我在 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 值存储在向量中以供进一步处理。请帮忙
【问题讨论】:
您对这项任务有什么疑问?你有矢量了吗? 没有。 dist 值出现在每个循环中。现在我必须存储它们 std::vector如果您想使用这些值进行进一步处理,您应该在 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);
【讨论】:
没关系。但是当我 printf 距离向量的值只有 0.00000 时。如果我更改向量以上是关于如何在打开的 cv 中使用向量将一些浮点值存储在 for 循环中的主要内容,如果未能解决你的问题,请参考以下文章