/FaceRecog/FaceRecognition.java

https://gitlab.com/Ap00rvSaxena/FaceRecognition-in-E-Attendance · Java · 51 lines · 32 code · 12 blank · 7 comment · 0 complexity · 31eb41ff005fa6509b57e21810a67a7a MD5 · raw file

  1. package FaceRecog;
  2. //import com.googlecode.javacv.cpp.opencv_contrib.FaceRecognizer;
  3. //import com.googlecode.javacv.cpp.opencv_core.IplImage;
  4. //import com.googlecode.javacv.cpp.opencv_core.MatVector;
  5. import java.awt.image.BufferedImage;
  6. import static org.bytedeco.javacpp.opencv_core.IPL_DEPTH_8U;
  7. import org.bytedeco.javacpp.opencv_core.IplImage;
  8. import org.bytedeco.javacpp.opencv_core.MatVector;
  9. import org.bytedeco.javacpp.opencv_face.FaceRecognizer;
  10. import static org.bytedeco.javacpp.opencv_face.createEigenFaceRecognizer;
  11. import static org.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage;
  12. import static org.bytedeco.javacpp.opencv_imgproc.CV_BGR2GRAY;
  13. import static org.bytedeco.javacpp.opencv_imgproc.cvCvtColor;
  14. public class FaceRecognition {
  15. public void checkFace(String imagePath, BufferedImage frame) {
  16. // Video Camera Frame
  17. IplImage getVCFrame = new IplImage();
  18. getVCFrame = IplImage.createFrom(frame);
  19. // Frame from Storage
  20. IplImage img;
  21. IplImage grayImg;
  22. int numberOfImages = 1;
  23. int label;
  24. MatVector images = new MatVector(numberOfImages);
  25. int[] labels = new int[numberOfImages];
  26. img = cvLoadImage(imagePath);
  27. label = 1;
  28. grayImg = IplImage.create(img.width(), img.height(), IPL_DEPTH_8U, 1);
  29. cvCvtColor(img, grayImg, CV_BGR2GRAY);
  30. images.put(0, img);
  31. labels[0] = label;
  32. IplImage GrayVCFrame = IplImage.create(getVCFrame.width(), getVCFrame.height(), IPL_DEPTH_8U, 1);
  33. // FaceRecognizer fr = createFisherFaceRecognizer();
  34. FaceRecognizer fr = createEigenFaceRecognizer();
  35. // FaceRecognizer faceRecognizer = createLBPHFaceRecognizer();
  36. fr.train(images, labels);
  37. cvCvtColor(getVCFrame, GrayVCFrame, CV_BGR2GRAY);
  38. }
  39. }