一、话说凸包
凸包(Convex Hull)是一个计算几何(图形学)中常见的概念。简单来说,给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边形,它是能包含点集中所有点的。理解物体形状或轮廓的一种比较有用的方法便是计算一个物体的凸包,然后计算其凸缺陷(convexity defects)。
二、处理凸包的一般步骤
- 预处理
- 获取轮廓
- 调用函数获得凸包
- 画出凸包(可选),计算凸缺陷(可选)
关于凸包,在OpenCV中有两个常用的函数:convexHull和convexityDefects,下面我们分别讲解。
convexHull:根据轮廓计算凸包,当需要绘制凸包时可配合函数polylines使用。函数原型:
</hull=cv2.convexHull(points[, hull[, clockwise[, returnPoints]]])