“连接”这样的操作对于轮廓是否存在/合理?由于轮廓划定了平面上的某些区域,因此多个轮廓可以合并为集合。
不是吗?
如果是那么如何 union 轮廓?
最佳答案
是的,您可以合并(并相交、设置差异和对称差异)等高线。由于它们是 cv::Point 的 vector ,因此表示为多边形,您可以使用任何适合的算法/库。只需在 SO 中搜索多边形 union 等。但是类似的东西还没有(还?)包含在 OpenCV 中。
OpenCV 中一种简单(但不是很高效)的方法是创建两个黑色图像,一个用于每个轮廓,将每个轮廓绘制为白色并填充,然后在图像上使用按位或来获得并集图像。然后您可以再次使用 cv::findContours 提取轮廓。 其他操作(相交、设置差异和符号差异)可以通过按位与、减法和加法+相应的阈值来完成。
关于c++ - 如何在 OpenCV 中加入/合并轮廓?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170224/