private double[] doFaceRecognitionTask(Image image) { //retrieve from the Config-file if the student image shell should be used (if not set, use default) FaceRecognitionTask.setImageImplementation(("false".Equals(ConfigManager.GetSetting("shellUsesDefault")) ? true : false)); FaceRecognitionTask task = new FaceRecognitionTask(new Bitmap(image)); try { doPreProcessing(task); doLocalization(task); doExtraction(task); if (!task.executePostProcessing()) { throw new FaceRecognitionTask.FaceRecognitionException("Post-processing: failed!"); } if (!task.executeRepresentation()) { throw new FaceRecognitionTask.FaceRecognitionException("Representation: failed!"); } else { return(task.getFacialParameters()); } } catch (FaceRecognitionTask.FaceRecognitionException e) { log("Exception during face recognition:"); log(e.Message); } finally { task.dispose(); } return(null); }
private void doLocalization(FaceRecognitionTask task) { task.prepareLocalization(); //retrieve from the Config-file if the student algorithms should be used (if not set, use default) task.executeLocalizationStep1(("false".Equals(ConfigManager.GetSetting("step2_1UsesDefault")) ? true : false)); log("Localization step 1: successful!"); pictureBox4.Image = task.localizationDebug; task.executeLocalizationStep2(("false".Equals(ConfigManager.GetSetting("step2_2UsesDefault")) ? true : false)); log("Localization step 2: successful!"); pictureBox4.Image = task.localizationDebug; task.executeLocalizationStep3(("false".Equals(ConfigManager.GetSetting("step2_3UsesDefault")) ? true : false)); log("Localization step 3: successful!"); pictureBox4.Image = task.localizationDebug; task.executeLocalizationStep4(("false".Equals(ConfigManager.GetSetting("step2_4UsesDefault")) ? true : false)); log("Localization step 4: successful!"); pictureBox4.Image = task.localizationDebug; task.executeLocalizationStep5(("false".Equals(ConfigManager.GetSetting("step2_5UsesDefault")) ? true : false)); log("Localization step 5: successful!"); pictureBox4.Image = task.localizationDebug; }
private void doPreProcessing(FaceRecognitionTask task) { //retrieve from the Config-file if the student algorithms should be used (if not set, use default) task.executePreProcessingStep1(("false".Equals(ConfigManager.GetSetting("step1_1UsesDefault")) ? true : false)); log("PreProcessing step 1: successful!"); task.executePreProcessingStep2(("false".Equals(ConfigManager.GetSetting("step1_2UsesDefault")) ? true : false)); log("PreProcessing step 2: successful!"); pictureBox2.Image = task.preProcessing2; task.executePreProcessingStep3(("false".Equals(ConfigManager.GetSetting("step1_3UsesDefault")) ? true : false)); log("PreProcessing step 3: successful!"); task.executePreProcessingStep4(("false".Equals(ConfigManager.GetSetting("step1_4UsesDefault")) ? true : false)); log("PreProcessing step 4: successful!"); pictureBox3.Image = task.preProcessing4; }