我发现这种基于图像矩计算伸长率的方法
#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/