Skip to content

Commit dd35a6d

Browse files
committed
avoid repeated points
1 parent ea8ef37 commit dd35a6d

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

  • src/main/java/ai/nets/samj/annotation

src/main/java/ai/nets/samj/annotation/Mask.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,16 @@ public void simplify() {
8585

8686
int[] xArr = simple.stream().mapToInt(pp -> (int) pp.getX()).toArray();
8787
int[] yArr = simple.stream().mapToInt(pp -> (int) pp.getY()).toArray();
88-
this.contour = new Polygon(xArr, yArr, xArr.length);
88+
Polygon outer = new Polygon(xArr, yArr, xArr.length);
89+
90+
contour = new Polygon();
91+
int n = outer.npoints;
92+
for (int i = n - 1; i >= 0; i --) {
93+
if (outer.xpoints[i] == outer.xpoints[((i+1)%n)]
94+
&& outer.ypoints[i] == outer.xpoints[((i+1)%n)])
95+
continue;
96+
contour.addPoint(outer.xpoints[i], outer.ypoints[i]);
97+
}
8998
memory.put(simplification, contour);
9099
}
91100

0 commit comments

Comments
 (0)