@Override public FaceDetector<CLMDetectedFace, FImage> getDetector() { return new CLMFaceDetector(); } }
@Override public FaceDetector<CLMDetectedFace, FImage> getDetector() { return new CLMFaceDetector(); } }
public static void main(String[] args) throws MalformedURLException, IOException { final CLMFaceDetector detector = new CLMFaceDetector(); // final FaceAligner<KEDetectedFace> aligner = new MeshWarpAligner(); final FaceAligner<CLMDetectedFace> aligner = new CLMAligner(200); final VideoCapture vc = new VideoCapture(640, 480); VideoDisplay.createOffscreenVideoDisplay(vc).addVideoListener(new VideoDisplayListener<MBFImage>() { @Override public void beforeUpdate(MBFImage frame) { if (frame == null) return; final List<CLMDetectedFace> faces = detector.detectFaces(frame.flatten()); if (faces.size() <= 0) return; final CLMDetectedFace face = faces.get(0); DisplayUtilities.displayName(aligner.align(face), "aligned"); DisplayUtilities.displayName(frame, "tracked"); } @Override public void afterUpdate(VideoDisplay<MBFImage> display) { } }); } }
public static void main(String[] args) throws MalformedURLException, IOException { final CLMFaceDetector detector = new CLMFaceDetector(); // final FaceAligner<KEDetectedFace> aligner = new MeshWarpAligner(); final FaceAligner<CLMDetectedFace> aligner = new CLMAligner(200); final VideoCapture vc = new VideoCapture(640, 480); VideoDisplay.createOffscreenVideoDisplay(vc).addVideoListener(new VideoDisplayListener<MBFImage>() { @Override public void beforeUpdate(MBFImage frame) { if (frame == null) return; final List<CLMDetectedFace> faces = detector.detectFaces(frame.flatten()); if (faces.size() <= 0) return; final CLMDetectedFace face = faces.get(0); DisplayUtilities.displayName(aligner.align(face), "aligned"); DisplayUtilities.displayName(frame, "tracked"); } @Override public void afterUpdate(VideoDisplay<MBFImage> display) { } }); } }
public static void main(String[] args) throws IOException { final FImage image = ImageUtilities.readF(new File("/Users/jsh2/Desktop/test-images/A7K9ZlZCAAA9VoL.jpg")); final CLMFaceDetector detector = new CLMFaceDetector(); final List<Rectangle> rects = detector.getConfiguration().faceDetector.detect(image); final MBFImage img = new MBFImage(image.clone(), image.clone(), image.clone()); for (final Rectangle r : rects) { r.scaleCentroid(1.2f); img.drawShape(r, RGBColour.RED); } DisplayUtilities.display(img); final List<CLMDetectedFace> faces = detector.detectFaces(image, rects); final CLMAligner aligner = new CLMAligner(); DisplayUtilities.display(aligner.align(faces.get(0))); } }
public static void main(String[] args) throws IOException { final FImage image = ImageUtilities.readF(new File("/Users/jsh2/Desktop/test-images/A7K9ZlZCAAA9VoL.jpg")); final CLMFaceDetector detector = new CLMFaceDetector(); final List<Rectangle> rects = detector.getConfiguration().faceDetector.detect(image); final MBFImage img = new MBFImage(image.clone(), image.clone(), image.clone()); for (final Rectangle r : rects) { r.scaleCentroid(1.2f); img.drawShape(r, RGBColour.RED); } DisplayUtilities.display(img); final List<CLMDetectedFace> faces = detector.detectFaces(image, rects); final CLMAligner aligner = new CLMAligner(); DisplayUtilities.display(aligner.align(faces.get(0))); } }
CLMFaceDetector det3 = new CLMFaceDetector(); CLMDetectedFace face3 = det3.detectFaces(img).get(0);
CLMFaceDetector det3 = new CLMFaceDetector(); CLMDetectedFace face3 = det3.detectFaces(img).get(0);