public void LoadRecognizerData() { _faceRecognizer.Load(_recognizerFilePath); }
/// <summary> /// Loads the trained Eigen Recogniser from specified location /// </summary> /// <param name="filename"></param> public void Load_Eigen_Recogniser(string filename) { //Lets get the recogniser type from the file extension string ext = Path.GetExtension(filename); switch (ext) { case (".LBPH"): Recognizer_Type = "EMGU.CV.LBPHFaceRecognizer"; recognizer = new LBPHFaceRecognizer(1, 8, 8, 8, 100);//50 break; case (".FFR"): Recognizer_Type = "EMGU.CV.FisherFaceRecognizer"; recognizer = new FisherFaceRecognizer(0, 3500);//4000 break; case (".EFR"): Recognizer_Type = "EMGU.CV.EigenFaceRecognizer"; recognizer = new EigenFaceRecognizer(80, double.PositiveInfinity); break; } //introduce error checking recognizer.Load(filename); //Now load the labels string direct = Path.GetDirectoryName(filename); Names_List.Clear(); if (File.Exists(direct + "/Labels.xml")) { FileStream filestream = File.OpenRead(direct + "/Labels.xml"); long filelength = filestream.Length; byte[] xmlBytes = new byte[filelength]; filestream.Read(xmlBytes, 0, (int)filelength); filestream.Close(); MemoryStream xmlStream = new MemoryStream(xmlBytes); using (XmlReader xmlreader = XmlTextReader.Create(xmlStream)) { while (xmlreader.Read()) { if (xmlreader.IsStartElement()) { switch (xmlreader.Name) { case "NAME": if (xmlreader.Read()) { Names_List.Add(xmlreader.Value.Trim()); } break; } } } } ContTrain = NumLabels; } _IsTrained = true; }