diff --git "a/\346\211\213\345\212\277\351\252\214\350\257\201\347\240\201\347\273\230\345\210\266\350\275\250\350\277\271" "b/\346\211\213\345\212\277\351\252\214\350\257\201\347\240\201\347\273\230\345\210\266\350\275\250\350\277\271" new file mode 100644 index 0000000000000000000000000000000000000000..f8fb82c61930bec2b5179f3a6fcb01e89cf2d63a --- /dev/null +++ "b/\346\211\213\345\212\277\351\252\214\350\257\201\347\240\201\347\273\230\345\210\266\350\275\250\350\277\271" @@ -0,0 +1,18 @@ +Collections.sort(list, (o1, o2) -> (int) (o1.x - o2.x)); +List line = new ArrayList<>(); +for (Point point : list) { + if (line.size() == 0) { + line.add(point); + continue; + } + Point compare = line.get(line.size() - 1); + double distance = Math.sqrt(Math.pow(point.y - compare.y, 2) + Math.pow(point.x - compare.x, 2)); + if (distance > step) { + line.add(point); + } +} +if (null != result) { + for (Point point : line) { + Imgproc.drawMarker(result, point, new Scalar(0, 0, 255)); + } +}