【发布时间】:2016-06-02 12:30:41
【问题描述】:
我一直在尝试找到弯曲形状(例如香蕉)的中心。我可以做所有的基础工作,例如创建二值图像和定位轮廓。但是,centroid 函数正确地找到了轮廓之外的点。我需要的点必须在轮廓内。我附上了一张可以更好地解释事情的图片。
如果有人有任何想法,或者看到过类似的东西,我将非常感谢一些帮助。
【问题讨论】:
-
你好@udit043 谢谢你的回复。那篇文章中的示例仅使用基本的多边形和圆形。我使用的形状导致质心在轮廓之外。如图所示。你见过使用弯曲形状的例子吗?
-
你如何在数学上表示这样的点??就像您提出的观点只是通过某种假设一样,一件事是您希望该点位于轮廓内,而不是您想要该点的确切位置?
-
你好@ArijitMukherjee 这是一个好问题。我不确定如何在数学上定义该点,但基本上我想要的是轮廓中心的一个点,该点两侧的质量相等。我目前正在研究一种细化算法,它将轮廓侵蚀为 1 像素线,然后我将找到该线的中心。不过,如果您有任何想法,我真的很想找到一种更快的方法?
标签: python opencv opencv-contour