public FaceRecognitionDB()
 {
     try
     {
         faceRecognizer.Read(Application.StartupPath + @"/../../Images/eigenRecognizer.yml");
         fisherRecognizer.Read(Application.StartupPath + @"/../../Images/fisherRecognizer.yml");
         LBPHFaceRecognizer.Read(Application.StartupPath + @"/../../Images/lpbhRecognizer.yml");
     }
     catch (Exception)
     {
     }
 }
示例#2
0
        private void LockScreen_Load(object sender, EventArgs e)
        {
            this.TopMost = true;
            this.BackgroundImageLayout = ImageLayout.Stretch;
            FormBorderStyle            = FormBorderStyle.None;
            WindowState = FormWindowState.Maximized;
            this.Show();
            this.Activate();

            for (int i = 0; i < Properties.Settings.Default.numberOfProfiles; i++)
            {
                FaceRecognizer recogniser = new LBPHFaceRecognizer(1, 8, 8, 8, 100);
                recogniser.Read(Application.StartupPath + $"\\Profiles\\profile{i + 1}.txt");
                recognisers.Add(recogniser);
            }

            //set the lockscreen form to fullscreen on-top of all windows


            //setup the video capture device
            filter = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            foreach (FilterInfo device in filter)
            {
                if (device.Name == Properties.Settings.Default.webcam)
                {
                    cam = new VideoCaptureDevice(device.MonikerString);
                }
            }
            cam.Start();

            cam.NewFrame += Cam_NewFrame;
        }
        public ImageService()
        {
            _fisherFaceRecognizer = new FisherFaceRecognizer();
            //_fisherFaceRecognizer = new FisherFaceRecognizer(FaceRecognizerNumberOfComponents, FaceRecognizerThreshold);

            _lbphFaceRecognizer = new LBPHFaceRecognizer();
            //_lbphFaceRecognizer = new LBPHFaceRecognizer(1, 8, 32, 32, 256);

            _cascadeClassifier = new CascadeClassifier(CascadeClassifierConfigPath);

            if (!Directory.Exists(DataFolder))
            {
                Directory.CreateDirectory(DataFolder);
            }

            if (File.Exists(FisherTrainingDataPath))
            {
                _fisherFaceRecognizer.Read(FisherTrainingDataPath);
            }

            if (File.Exists(LBPHTrainingDataPath))
            {
                _lbphFaceRecognizer.Read(LBPHTrainingDataPath);
            }
        }
 private FaceRecognizer LoadFaceRecognizer()
 {
     if (File.Exists(ConfigurationManager.AppSettings["FaceRecognizerData"]))
     {
         FaceRecognizer faceRecognizer = new LBPHFaceRecognizer(1, 8, 8, 8, 100);
         faceRecognizer.Read(ConfigurationManager.AppSettings["FaceRecognizerData"]);
         return(faceRecognizer);
     }
     return(new LBPHFaceRecognizer(1, 8, 8, 8, 100));
 }
示例#5
0
        public Form1()
        {
            InitializeComponent();

            faceRecognition = new LBPHFaceRecognizer(2, 10, 8, 8, 85);

            if (File.Exists(YMLPath))
            {
                faceRecognition.Read(YMLPath);
            }
            else
            {
                PredictButton.Enabled = false;
            }


            faceDetection = new CascadeClassifier(Path.GetFullPath(@"../../data/haarcascades/haarcascade_frontalface_default.xml"));
            eyeDetection  = new CascadeClassifier(Path.GetFullPath(@"../../data/haarcascades/haarcascade_eye.xml"));
            frame         = new Mat();
            Faces         = new List <Image <Gray, byte> >();
            IDs           = new List <int>();
            BeginWebCam();
        }