Как использовать выпуклую функцию openCV в iOS, цель C? - PullRequest
0 голосов
/ 02 июня 2018

Я новичок в openCV и пытаюсь использовать функцию выпуклости в библиотеке openCV для приложения (используется цель C), мне нужно знать, каков формат ввода аргументов функции, это довольно странно,И эта функция возвращает точки в последовательности?Мол, если я использую addLineToPoint, чтобы нарисовать лицевую дорожку этого корпуса, возможно ли это?

1 Ответ

0 голосов
/ 03 июня 2018

Пример кода для вас:

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));
}

Этот код поможет вам создать выпуклый корпус и нарисовать его.

Здесь вы можете найти полную документацию дляэта функция.Он вернет точки в последовательности согласно аргументу «по часовой стрелке».По умолчанию это будет против часовой стрелки.

...