在opencv中,可通过函数convexHull对一系列点的凸包,如由点组成的轮廓,通过convexHull函数,就能得到轮廓的凸包。
OutputArray hull:输出的凸包点;
Sklansky, J., Finding the Convex Hull of a Simple Polygon. PRL 1 $number, pp 79-83 (1982)
void convexHull(InputArray points, OutputArray hull, bool clockwise=false, bool returnPoints=true);
InputArray points:要求凸包的点集;OutputArray hull:输出的凸包点;
bool clockwise:bool变量,表示求得的凸包是顺时针方向还是逆时针方向,true是顺时针方向,false为逆时针方向
对于OutputArray hull参数可以为std::vector<int>,这是返回的是凸包点在原轮廓点集中的索引,当为std::vector<cv::Point>时,表示的是凸包点的位置
Sklansky, J., Finding the Convex Hull of a Simple Polygon. PRL 1 $number, pp 79-83 (1982)