Использование 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

Я не знаю, как выяснить эту ошибку, или я сделал некоторые неправильные операции, чтобы вызвать эту ошибку? Спасибо за любую помощь!

0 ответов

Другие вопросы по тегам