Skip to content

Commit dd35a6d

Browse files
committed
avoid repeated points
1 parent ea8ef37 commit dd35a6d

File tree

1 file changed

+10
-1
lines changed
  • src/main/java/ai/nets/samj/annotation

1 file changed

+10
-1
lines changed

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)