edu.51cto.comedu.51cto.comOpenCV3.1.0–图像处理教程edu.51cto.com讲师:贾志刚E-Mail:bfnh1998@hotmail.com微博:流浪的鱼-GloomyFishedu.51cto.com凸包-ConvexHull概念介绍API说明代码演示edu.51cto.com概念介绍什么是凸包(ConvexHull),在一个多变形边缘或者内部任意两个点的连线都包含在多边形边界或者内部。检测算法-Graham扫描法正式定义:包含点集合S中所有点的最小凸多边形称为凸包edu.51cto.comedu.51cto.com概念介绍-Graham扫描算法首先选择Y方向最低的点作为起始点p0从p0开始极坐标扫描,依次添加p1….pn(排序顺序是根据极坐标的角度大小,逆时针方向)对每个点pi来说,如果添加pi点到凸包中导致一个左转向(逆时针方法)则添加该点到凸包,反之如果导致一个右转向(顺时针方向)删除该点从凸包中edu.51cto.com概念介绍-Graham扫描算法Noworry,我们只是需要了解,OpenCV已经实现了凸包发现算法和API提供我们使用。edu.51cto.comAPI说明cv::convexHullconvexHull(InputArraypoints,//输入候选点,来自findContoursOutputArrayhull,//凸包boolclockwise,//defaulttrue,顺时针方向boolreturnPoints)//true表示返回点个数,如果第二个参数是vector
则自动忽略edu.51cto.com代码演示首先把图像从RGB转为灰度然后再转为二值图像在通过发现轮廓得到候选点凸包API调用绘制显示。edu.51cto.com演示代码edu.51cto.comThankYou!edu.51cto.com