Пример кода для вас:
std::vector<cv::Point> points;
//fill that vector with your points
std::vector<cv::Point> hull;
if (points.size()) {
cv::convexHull(points, hull);
}
cv::Size size = cv::Size(w, h);
//some size for the matrix where you will draw your convex hull
cv::Mat hullMask = Mat::zeros(size, CV_8UC1);
int hull_count = (int)hull.size();
if (hull_count) {
const cv::Point* hull_pts = &hull[0];
cv::fillPoly(hullMask, &hull_pts, &hull_count, 1, cv::Scalar(255));
}
Этот код поможет вам создать выпуклый корпус и нарисовать его.
Здесь вы можете найти полную документацию дляэта функция.Он вернет точки в последовательности согласно аргументу «по часовой стрелке».По умолчанию это будет против часовой стрелки.