OpenCV自学记录(5)——凸包检测和凸缺陷
1、凸包检测与凸缺陷定义
凸包是将最外层的点连接起来构成的凸多边形,它能包含点击中所有的点。物体的凸包检测常应用在物体识别、手势识别及边界检测等领域。
凸包检测常常用在轮廓分析之后。对二值图像进行轮廓分析之后,可以构建每个轮廓的凸包,构建完成之后会返回该凸包包含的点集。根据返回的凸包点集可以绘制该轮廓对应的凸包。一般来说,凸性曲线总是凸出来的,至少是平的。如果有地方凹进去了就被叫做凸性缺陷。下图可以更加直接的了解凸包和凸缺陷的定义:
2、opencv相关实现函数
OpenCV中提供了函数convexHull 用于对物体轮廓凸包进行检测,函数convexityDefect进行凸缺陷的检测。首先来了解一下各参数意义:
hull = cv2.convexHull(points