@NotNull public ImageOverlayBuilder outFaceLandmarksOnImage(@NotNull Face face, @NotNull BorderWeight landmarkWeight) { java.util.List<java.awt.Point> values = face.faceLandmarks.landmarks().values().stream().map(point -> point != null ? point.asAwtPoint() : null).collect(Collectors.toList()); OverlayPointsFilter overlayPointsFilter = new OverlayPointsFilter(values, landmarkWeight, CognitiveJColourPalette.STRAWBERRY); bufferedImage = overlayPointsFilter.applyFilter(bufferedImage); return this; }
@NotNull @Override public BufferedImage applyFilter(@NotNull BufferedImage bufferedImage) { Graphics2D graphics2D = bufferedImage.createGraphics(); rectangle.stream().filter(point -> point != null).forEach(point -> drawRectangle(graphics2D, new Rectangle(point.x, point.y, borderWeight.thickness(), borderWeight.thickness()), color.getBackground(), borderWeight)); graphics2D.dispose(); return bufferedImage; }