cv::convexHull
时间: 2024-09-15 21:07:46 浏览: 46
048_OpenCV 凸殼(convexHull) _ 阿洲的程式教學1
在OpenCV中,`cv::convexHull`函数是一个非常重要的二进制图像操作,用于计算给定点集的凸包(Convex Hull)。凸包是指包围一组点的最小凸多边形,所有点都包含在这个多边形之内,并且每个顶点都在某一点集中。
函数原型如下:
```cpp
std::vector<cv::Point> cv::convexHull(const std::vector<cv::Point>& points, int clockwise = true, int returnPoints = true)
```
- `points`: 输入的一组二维点集合。
- `clockwise`: 可选布尔值,默认为`true`,指定生成的是逆时针方向的凸包;如果是`false`,将生成顺时针方向的凸包。
- `returnPoints`: 可选布尔值,默认为`true`,若为`true`,则返回凸包的顶点坐标;若为`false`,仅返回是否包含原点(对于点集是否形成封闭图形)的信息。
当应用到图像处理中,`convexHull`常用于去除噪声,提取特征,以及确定形状的边界。例如,在行人检测中,可以先找出感兴趣区域的所有像素点,然后取其凸包得到人体的轮廓。
阅读全文