【问题标题】:How to join/union contours in OpenCV?如何在 OpenCV 中加入/联合轮廓?
【发布时间】:2013-06-18 13:31:12
【问题描述】:

这样的“加入”操作对于轮廓是否存在/合理?由于轮廓在平面上划定了一些区域,因此可以将多个轮廓合并为集合。

不是吗?

如果是,那么如何合并轮廓?

【问题讨论】:

    标签: c++ opencv computer-vision set-union


    【解决方案1】:

    是的,您可以合并(和相交、设置差异和对称差异)等高线。由于它们是 cv::Point 的向量,因此表示为多边形,因此您可以使用任何适合的算法/库。只需在 SO 中搜索多边形联合等。但 OpenCV 中还没有(还没有?)包含类似的东西。

    OpenCV 中一种简单(但性能不高)的方法是创建两个黑色图像,每个轮廓一个,将每个轮廓绘制为白色并填充,然后在图像上使用按位或来获得联合图像。然后,您可以再次使用 cv::findContours 提取轮廓。 其他操作(相交,设置差异和符号差异)可以通过按位与,相应的减法和加法+阈值来完成。

    【讨论】:

      猜你喜欢
      • 2021-07-26
      • 1970-01-01
      • 2021-09-07
      • 2023-03-18
      • 2016-09-25
      • 2014-07-12
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      相关资源
      最近更新 更多