PageRenderTime 73ms CodeModel.GetById 37ms RepoModel.GetById 1ms app.codeStats 0ms

/FaceRecog/Eigen.java

https://gitlab.com/Ap00rvSaxena/FaceRecognition-in-E-Attendance
Java | 57 lines | 43 code | 5 blank | 9 comment | 0 complexity | 313195b0515471795bf65e67d8fe0314 MD5 | raw file
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. package FaceRecog;
  7. import java.io.File;
  8. import java.io.FilenameFilter;
  9. import org.bytedeco.javacv.Frame;
  10. import org.bytedeco.javacv.FrameGrabber.Exception;
  11. import org.bytedeco.javacv.OpenCVFrameConverter;
  12. import org.bytedeco.javacv.OpenCVFrameGrabber;
  13. import static org.bytedeco.javacpp.opencv_core.*;
  14. import static org.bytedeco.javacpp.opencv_face.*;
  15. import static org.bytedeco.javacpp.opencv_highgui.*;
  16. import static org.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage;
  17. import static org.bytedeco.javacpp.opencv_imgproc.*;
  18. import static org.bytedeco.javacpp.opencv_objdetect.*;
  19. /**
  20. *
  21. * @author user
  22. */
  23. public class Eigen {
  24. public static void main(String[] args) {
  25. File root = new File("testing\\");
  26. FilenameFilter pngFilter = new FilenameFilter() {
  27. public boolean accept(File dir, String name) {
  28. return name.toLowerCase().endsWith(".png");
  29. }
  30. };
  31. File[] imageFiles = root.listFiles(pngFilter);
  32. int[] labels = new int[imageFiles.length];
  33. MatVector images = new MatVector(imageFiles.length);
  34. IplImage img=null;
  35. int counter = 0;
  36. int label;
  37. for (File image : imageFiles) {
  38. img = cvLoadImage(image.getAbsolutePath());
  39. String temp= image.getName();
  40. label = Integer.parseInt(temp.charAt(0)+"");
  41. labels[counter] = label;
  42. counter++;
  43. }
  44. FaceRecognizer fr = createEigenFaceRecognizer();
  45. fr.train(images, AbstractMat.EMPTY);
  46. }
  47. }