【问题标题】:OpenCV findContour() corners index orderOpenCV findContour() 角索引顺序
【发布时间】:2014-01-16 08:44:25
【问题描述】:

我正在使用 Android OpenCV。我有一个方形标记图像。我必须找出实时提要中标记四个角的位置及其索引位置。我能够在帧大小为 640*480 的实时提要中获得这四个点的位置。但是索引位置的问题是不固定的,有时我在左上角位置获得第 0 个索引,有时在该位置获得第 1 个索引......如何解决这个问题或者 findContour() 方法有什么替代方法。

【问题讨论】:

  • 离 (0,0) 最小距离的角应该是左上角? ;)
  • 是的,这是正确的,这个点在 findContour() 方法之后应该有索引值 0 但是这个索引并不总是 0 有时它是 1 或 2...
  • 在提取左上角后,您不能手动重新排列整个轮廓顺序或解释移​​动的索引吗?
  • 你能上传几张示例图片吗..?并请标记您希望索引开始的点。

标签: opencv image-processing contour


【解决方案1】:

如果形状是四边形,可以使用角排序的方法:

1- 获取质心。

2- y 轴低于质心的点为顶点,否则为底部点。

3- 给定两个顶点,x 轴较低的那个是左上角。另一个是右上角。

4- 给定两个底点,x 轴较低的那个是左下角。另一个是右下角。

参考与 opencv/c++:https://opencv-code.com/tutorials/automatic-perspective-correction-for-quadrilateral-objects/

【讨论】:

    【解决方案2】:

    物体是否具有内在的绝对方向(即手套或定向棋盘),可能会因帧而异,您需要识别它吗?还是只是确保索引顺序在帧与帧之间保持一致?如果后者,并且相对帧间运动很小,为什么不直接跟踪它 - 即通过与前一帧角位置的接近度重新分配索引?

    【讨论】:

      猜你喜欢
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2018-08-25
      • 2013-11-01
      • 2010-11-18
      • 2015-06-23
      相关资源
      最近更新 更多