【发布时间】:2021-04-02 09:55:18
【问题描述】:
我是 openCV 新手,一直在尝试在 openCV 库中为应用程序使用凸包函数(正在使用 Objective-C),我需要知道函数参数的输入格式是什么,这很令人困惑.这个函数是否按顺序返回点?比如,如果我使用 addLineToPoint 来绘制这个船体的贝塞尔路径,有可能吗?
【问题讨论】:
标签: objective-c opencv
我是 openCV 新手,一直在尝试在 openCV 库中为应用程序使用凸包函数(正在使用 Objective-C),我需要知道函数参数的输入格式是什么,这很令人困惑.这个函数是否按顺序返回点?比如,如果我使用 addLineToPoint 来绘制这个船体的贝塞尔路径,有可能吗?
【问题讨论】:
标签: objective-c opencv
为您提供一些示例代码:
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));
}
此代码将帮助您创建凸包并绘制它。
Here 你可以找到该函数的完整文档。它将根据“顺时针”参数按顺序返回点。默认为逆时针方向。
【讨论】: