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