public TrainingForm(String _name) { InitializeComponent(); name = _name; photoCounter = 3; capture = new Capture(); CameraCapture.Init(capture); BlinkDetector.Init(new CascadeClassifier(eyePairClassifier), new CascadeClassifier(eyeClassifier)); FaceDetection.Init(new CascadeClassifier(faceClassifier)); TrainingStateManager.Clear(); BlinkStateManager.Clear(); labelInstruction.Text = "We will now capture a few images \nof your face"; labelRemaining.Text = photoCounter + " more capture to finish"; buttonFinish.Enabled = false; CameraCapture.Start(); timer = new DispatcherTimer(); timer.Tick += ProcessTrainFrame; timer.Interval = new TimeSpan(0, 0, 0, 0, 1); timer.Start(); }
private void PrintInstruction() { labelRemaining.Text = photoCounter + " more capture to finish"; String instruction = ""; switch (TrainingStateManager.State) { case TrainingStateManager.STATE.IDLE: instruction = "Idle"; break; case TrainingStateManager.STATE.NOT_DETECTED: instruction = "Face NOT detected!"; BlinkStateManager.Clear(); break; case TrainingStateManager.STATE.READY: if (BlinkStateManager.IsReady) { instruction = "Ready! Please BLINK your eyes."; } else { instruction = "Looking for facial feature..."; } break; case TrainingStateManager.STATE.FACE_NOT_STABLE: instruction = "Please stay still."; BlinkStateManager.Clear(); break; case TrainingStateManager.STATE.TOO_DARK: instruction = "Too dark."; BlinkStateManager.Clear(); break; case TrainingStateManager.STATE.TOO_BRIGHT: instruction = "Too bright."; BlinkStateManager.Clear(); break; case TrainingStateManager.STATE.TOO_FAR: instruction = "Face too far."; break; case TrainingStateManager.STATE.TOO_CLOSE: instruction = "Face too close."; break; default: break; } labelInstruction.Text = instruction; return; }
private void CheckBlink(Image <Gray, byte> faceImage) { //print method for debugging purpose PrintBlinkInformations(); BlinkDetector.Detect(faceImage); if (BlinkStateManager.LastAction.Equals(BlinkStateManager.LAST_ACTION.BLINK)) { if (FaceRecognition.SaveTrainingData(faceImage, name)) { BlinkStateManager.Clear(); photoCounter--; if (photoCounter <= 0) { buttonFinish.Enabled = true; photoCounter = 0; } } } return; }
public SecurityForm() { InitializeComponent(); username = Authorization.username; capture = new Capture(); CameraCapture.Init(capture); BlinkDetector.Init(new CascadeClassifier(eyePairClassifier), new CascadeClassifier(eyeClassifier)); FaceDetection.Init(new CascadeClassifier(faceClassifier)); SecurityStateManager.Clear(); BlinkStateManager.Clear(); labelInstruction.Text = "We will now capture a few images \nof your face"; CameraCapture.Start(); timer = new DispatcherTimer(); timer.Tick += ProcessSecurityFrame; timer.Interval = new TimeSpan(0, 0, 0, 0, 1); timer.Start(); }
private void PrintInstruction() { String instruction = ""; switch (SecurityStateManager.State) { case SecurityStateManager.STATE.IDLE: instruction = "Idle"; break; case SecurityStateManager.STATE.NOT_DETECTED: instruction = "Face NOT detected!"; BlinkStateManager.Clear(); break; case SecurityStateManager.STATE.NOT_MATCH: MessageBox.Show("Face doesn't match!"); Thread thread = new Thread(new ThreadStart(RunLoginForm)); thread.Start(); this.Close(); break; case SecurityStateManager.STATE.READY: if (BlinkStateManager.IsReady) { instruction = "Ready! Please BLINK your eyes."; } else { instruction = "Looking for facial feature..."; } break; case SecurityStateManager.STATE.FACE_NOT_STABLE: instruction = "Please stay still."; BlinkStateManager.Clear(); break; case SecurityStateManager.STATE.TOO_DARK: instruction = "Too dark."; BlinkStateManager.Clear(); break; case SecurityStateManager.STATE.TOO_BRIGHT: instruction = "Too bright."; BlinkStateManager.Clear(); break; case SecurityStateManager.STATE.TOO_FAR: instruction = "Face too far."; BlinkStateManager.Clear(); break; case SecurityStateManager.STATE.TOO_CLOSE: instruction = "Face too close."; break; default: break; } labelInstruction.Text = instruction; return; }