我发现了这种基于图像力矩计算伸长率的方法
#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'是用find contours获取的轮廓。
默认情况下,convexHull输出一个点的索引向量。您必须将returnPoints参数设置为1以输出一个点向量,然后您可以将其传递给cv2.moments。