Openimaj получить полигоны из Вороного - PullRequest
0 голосов
/ 05 июня 2019

Глядя на этот пример:

https://github.com/jonhare/COMP6208/blob/master/app/src/main/java/uk/ac/soton/ecs/comp6208/l2/KMeansDemo.java#L252

Строка выше:

    final List<Line2d> lines = Voronoi.computeVoronoiEdges(java.util.Arrays.asList(centroids), image.getWidth(),
            image.getHeight());

Я добавил еще одну строку:

    final Graph<Point2d, DefaultEdge> graph = Voronoi.computeVoronoiGraph(java.util.Arrays.asList(centroids), image.getWidth(),
            image.getHeight());

но это разрывается с:

Exception in thread "Thread-0" java.lang.IllegalArgumentException: no such vertex in graph
    at org.jgrapht.graph.AbstractGraph.assertVertexExist(Unknown Source)
    at org.jgrapht.graph.AbstractBaseGraph.addEdge(Unknown Source)
    at org.openimaj.math.geometry.triangulation.Voronoi.computeVoronoiGraph(Voronoi.java:88)
    at uk.ac.soton.ecs.comp3204.l2.KMeansDemo.drawVoronoi(KMeansDemo.java:260)

Есть идеи, почему это ломается?

Моя цель более высокого уровня состоит в том, чтобы получить полигоны (вместо линий) из выходных данных любого из вышеуказанных методов (или любого другого метода, если использование вышеупомянутого является неправильным способом). Каков был бы правильный подход для этого?

...