我理解如何使用opencv函数findcontours
和contourArea
作为this post建议计算连通组件(或blob)的区域。但是,在我的测试图像中,我很难通过使用这两个函数找到最大的连通分量。我的测试图像如下:
测试图像显然由两个连接的组件组成:
组件1
组件2
很明显,组件2比组件1大。但是,使用abs(contourArea())
给出了相反的结果。有任何想法吗?谢谢。
编辑: 如果我使用这种方法计算面积,那么我可以得到正确的结果:
cv::Rect rect = boundingRect(contours[i]);
area = rect.area();