Использование getVoronoiFacetList, но не может получить вершины по часовой стрелке
Я хочу создать диаграмму Вороного с помощью opencv(getVoronoiFacetList) и получить вершины каждого многоугольника. Код прикреплен следующим образом:
void getVoronoi(Mat Image, vector<cv::Point2f> vecCenterList) {
Rect rect(0, 0,Image.cols, Image.rows);
Subdiv2D subdiv(rect);
for (size_t i = 0; i < vecCenterList.size(); i++)
{
subdiv.insert(vecCenterList[i]);
}
vector<vector<cv::Point2f> > vecPolylist;
vector<cv::Point2f> centers;
subdiv.getVoronoiFacetList(std::vector<int>(), vecPolylist, centers);
}
Но когда я проверяю координаты вершин, я обнаруживаю, что они не сохраняются в одном и том же направлении (по часовой стрелке), вы можете видеть на следующих рисунках (от индекса [3] до индекса [4] против часовой стрелки):
вершины многоугольника153, многоугольника153
Я не знаю, как выяснить эту ошибку, или я сделал некоторые неправильные операции, чтобы вызвать эту ошибку? Спасибо за любую помощь!