如何在 OpenCV 中加入/联合轮廓?
Posted
技术标签:
【中文标题】如何在 OpenCV 中加入/联合轮廓?【英文标题】:How to join/union contours in OpenCV? 【发布时间】:2013-06-18 13:31:12 【问题描述】:这样的“加入”操作对于轮廓是否存在/合理?由于轮廓在平面上划定了一些区域,因此可以将多个轮廓合并为集合。
不是吗?
如果是,那么如何合并轮廓?
【问题讨论】:
【参考方案1】:是的,您可以合并(和相交、设置差异和对称差异)等高线。由于它们是 cv::Point 的向量,因此表示为多边形,因此您可以使用任何适合的算法/库。只需在 SO 中搜索多边形联合等。但 OpenCV 中还没有(还没有?)包含类似的东西。
OpenCV 中一种简单(但性能不高)的方法是创建两个黑色图像,每个轮廓一个,将每个轮廓绘制为白色并填充,然后在图像上使用按位或来获得联合图像。然后,您可以再次使用 cv::findContours 提取轮廓。 其他操作(相交,设置差异和符号差异)可以通过按位与,相应的减法和加法+阈值来完成。
【讨论】:
以上是关于如何在 OpenCV 中加入/联合轮廓?的主要内容,如果未能解决你的问题,请参考以下文章