opencv - opencv中的重复轮廓

标签 opencv image-processing hierarchy gpuimage

我在使用 opencv 中的 findContours 时遇到了一些麻烦。输出中的数据太多,我知道正确使用层次结构是关键。鉴于 opencv 文档中的下图:

Opencv Docs

我想绘制除 2a 和 3a 之外的所有轮廓。遍历层次结构和 findContour 参数以实现该结果的正确方法是什么?

最佳答案

findContours 函数找到的轮廓是有方向的。物体是逆时针的,孔是顺时针的。所以如果你检查每个轮廓的符号区域,你就会知道它是否是一个洞。等高线的符号面积可以通过以下方式计算:

contourArea(contour, true);

当然,使用层次结构也是一种不错的方法,但我认为这种方法更易于理解和实现。

关于opencv - opencv中的重复轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21124853/

相关文章:

python - OCR手写数据显示svm.train()中的错误

java - 导入 com.sun.image.codec.jpeg.*

python-2.7 - 无法在 ITK 中加载 .mha 文件

python - 将 2 列数据框转换为多级分层数据框

android - 什么是 Root View ?

c++ - 从 CvPoint2D32f 的 C++ vector 创建 CvMat

java - 无法在Grails 2.4.4项目中实例化OpenCV-4.0.1 CascadeClassifier

python - 如何在开放式简历中使ROI线移动或让用户用鼠标绘制它

c++ - OpenCV:使用同一个 Mat 对象作为源和目标安全吗?

ios - 关闭 ModalViewController 时返回除 ParentViewController 之外的 ViewController