轮廓检测、过滤与绘制相关技术详解
1. 基于矩的对象特征计算
矩是从轮廓计算得出的特征,可用于对象的几何重建。尽管矩本身没有直接易懂的几何意义,但能基于它计算出一些有趣的几何属性和参数。
在 contours_analysis.py 脚本中,首先计算检测到的轮廓的矩,然后计算一些对象特征:
M = cv2.moments(contours[0])
print("Contour area: '{}'".format(cv2.contourArea(contours[0])))
print("Contour area: '{}'".format(M['m00']))
可以看到,矩 m00 给出的轮廓面积与 cv2.contourArea() 函数计算的结果相同。计算轮廓质心的代码如下:
print("center X : '{}'".format(round(M['m10'] / M['m00'])))
print("center Y : '{}'".format(round(M['m01'] / M['m00'])))
轮廓的圆度(Roundness)κ 衡量轮廓接近完美圆形的程度,计算公式如下:
def roundness(contour, moments):
"""Calculates
超级会员免费看
订阅专栏 解锁全文
1406

被折叠的 条评论
为什么被折叠?



