【发布时间】:2019-02-14 17:11:13
【问题描述】:
我用OpenCV写了一个小应用,用来统计具体细节的参数。
关键是因为细节闪烁我无法得到它的精确轮廓。就像this。如您所见,细节中心是白色的,因此结果轮廓看起来像马蹄铁。
我也不能使用凸包来包裹获得的轮廓,因为我会失去在我的情况下很重要的准确性。
在我看来,我已经有了这个问题的解决方案。这个想法是:
获取细节轮廓的凸包
从船体面积中减去轮廓面积,得到船体包含的多边形列表,而不是细节的轮廓
选择最大的多边形并将其添加到轮廓中
我仍然无法弄清楚的一件事是,是否有任何方法可以通过 OpenCV 以我需要的形式获得区域之间的差异?
任何帮助表示赞赏
【问题讨论】:
-
这是一个凸对象。为什么你会失去凸包的准确性?
-
好吧,也许这个例子不是最好的。细节边缘不理想,实际上是折线。当我得到凸包时,它会平滑所有缺陷。然后当我计算细节的体积(作为轮廓的旋转积分)时,它很有意义。
标签: python opencv computer-vision