import org.opencv.core.*; import org.opencv.face.*; import org.opencv.imgcodecs.*; import org.opencv.imgproc.*; import org.opencv.objdetect.*; import java.util.*; public class Facemark { static { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); } public static void main(String[] args) { if (args.length < 3) { System.out.println("use: java Facemark [image file] [cascade file] [model file]"); return; } // read the image Mat img = Imgcodecs.imread(args[0]); // setup face detection CascadeClassifier cascade = new CascadeClassifier(args[1]); MatOfRect faces = new MatOfRect(); // detect faces cascade.detectMultiScale(img, faces); // setup landmarks detector Facemark fm = Face.createFacemarkKazemi(); fm.loadModel(args[2]); // fit landmarks for each found face ArrayList landmarks = new ArrayList(); fm.fit(img, faces, landmarks); // draw them for (int i=0; i