如何检索轮廓点 - opencv?
我的图像有三个对象(不规则形状) 我找到了以上三个物体的轮廓。
**我的声明——轮廓**
vector<vector<Point>> contours;
所以我得到了如下的对象坐标
contours.[size] = 3
[capacity ] = 14
+[0] {size = 330 }
+[1] {size = 240 }
+[2] {size = 654 }
这里我有三个轮廓,大小分别为 330、240,654
现在我的疑问是如何将 3 个对象的每个轮廓点复制到 vector ?
我想在 calcOpticalFlowPyrLK
中使用这个轮廓点用作prevPts
或者可以做什么?
最佳答案
- 对我的上述评论的更多解释。
calcOpticalFlowPyrLK()
可以直接用vector<Point>
或 vector<Point2f>
对于参数 prevPts
.
prevPts
– vector of 2D points for which the flow needs to be found; point coordinates must be single-precision floating-point numbers.
也就是说,您只需要使用 contours[0]
, contours[1]
和 contours[2]
对于 3 个对象(它们的类型为 vector<Point>
)并将它们传递给 calcOpticalFlowPyrLK()
.
关于c++ - 如何检索轮廓点 - 使用 opencv 转换为 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473778/