opencv - 如何在opencv中计算凸包的伸长率?

标签 opencv computer-vision convex-hull feature-extraction

我发现这种基于图像矩计算伸长率的方法

#ELONGATION
def elongation(m):
    x = m['mu20'] + m['mu02']
    y = 4 * m['mu11']**2 + (m['mu20'] - m['mu02'])**2
    return (x + y**0.5) / (x - y**0.5)

mom = cv2.moments(unicocnt, 1)    
elongation = elongation(mom)

如何计算凸包的伸长率?
hull = cv2.convexHull(unicocnt)

其中“unicocnt”是使用查找轮廓获取的轮廓。

最佳答案

默认情况下,convertHull输出一个点索引 vector 。您必须将returnPoints参数设置为1才能输出一个点 vector ,然后可以将其传递给cv2.moments。

关于opencv - 如何在opencv中计算凸包的伸长率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134190/

相关文章:

c++ - opencv 从相机数据创建垫子

c++ - OpenCV 3.1.0 : Accessing single elements from a UMat

python - wxPython或wxPython中的PyGame Canvas ->哪个更快?

c++ - Opencv 中的标准过滤器

java - 在 Android 上使用带有 OpenCV 的相机 LED 闪光灯

python - 打开CV分水岭无法正确分割椭圆形对象

tensorflow - 如何实现强大的背景去除?

javascript - 具有 2 个数据点的 D3.js 凸包

python - 使用 qhull/SciPy 计算大型数据集的凸包时出现的问题

python - 为给定的点云拆分上边缘线和下边缘线?