我尝试使用convexHull来设置我的点的顺序。但结果是错的。
//image_points_queue.push_back(original_image_points);
vector<cv::Point2f> image_points = {
{ 585, 543 },
{ 643, 749 },
{ 767, 501 },
};
convexHull(image_points, image_points, false);
image_points变为&#34; 767,501&#34;,&#34; 643,749&#34;,&#34; 767,501&#34;。 我对此一无所知。请帮忙。
答案 0 :(得分:1)
我使用另一个向量作为结果,代码工作正常。
vector<cv::Point2f> result_points;
vector<cv::Point2f> image_points = {
{ 585, 543 },
{ 643, 749 },
{ 767, 501 },
};
convexHull(image_points, result_points, false);
我使用的是Windows 10.不确定它是否依赖于平台。
答案 1 :(得分:-1)
它基本上给出一个封闭的船体,因此起点和终点是相同的。所以你需要忽略船体的最后一点。