我在使用 opencv 中的 findContours 时遇到了一些麻烦。输出中的数据太多,我知道正确使用层次结构是关键。鉴于 opencv 文档中的下图:
我想绘制除 2a 和 3a 之外的所有轮廓。遍历层次结构和 findContour 参数以实现该结果的正确方法是什么?
最佳答案
findContours 函数找到的轮廓是有方向的。物体是逆时针的,孔是顺时针的。所以如果你检查每个轮廓的符号区域,你就会知道它是否是一个洞。等高线的符号面积可以通过以下方式计算:
contourArea(contour, true);
当然,使用层次结构也是一种不错的方法,但我认为这种方法更易于理解和实现。
关于opencv - opencv中的重复轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21124853/