如何检索轮廓点-转换为矢量使用opencv



如何检索轮廓点- opencv ?

我的图像有三个对象(不规则形状)我找到了以上三个物体的轮廓。

**My declaration - Contours **

vector<vector<Point>> contours;

所以我得到了像下面这样的对象坐标

contours.[size] = 3
         [capacity ] = 14
         +[0] {size = 330 }
         +[1] {size = 240 }
         +[2] {size = 654 }

这里我有三个等高线,大小分别为330,240,654

现在我的疑问是如何将3个物体的每个轮廓点复制到矢量上?

我想用calcOpticalFlowPyrLK函数中的等高线点作为prevPts

-对我上面的评论再做一点解释

calcOpticalFlowPyrLK() 可以直接使用vector<Point>vector<Point2f>作为prevPts参数

prevPts —需要寻找流的二维点向量;点坐标必须是单精度浮点数。

也就是说,您只需要使用contours[0], contours[1]contours[2]为3个对象(它们是vector<Point>类型)并将它们传递给calcOpticalFlowPyrLK()

herohuyongtao给了你正确的答案。你应该通过选择他的答案作为正确答案来认可他。

我将添加一个小的解释:你的轮廓是向量的向量。它有3个元素,每个元素都是一个点向量(可以通过.x和.y访问)。这正是prevpt所需要的。通过发送等值线[i]到函数,你发送了第i个点向量。详见:http://docs.opencv.org/modules/video/doc/motion_analysis_and_object_tracking.html

相关内容

  • 没有找到相关文章

最新更新