2017-07-23 6 views
0

Meine Anwendung wird geschlossen, wenn es beim Erstellen des Recognizer-Objekts der EigenObjectRecognizer-Klasse ankommt, ohne einen Fehler oder eine Warnung zu geben, übergebe ich falsche Parameter oder gibt es ein anderes Problem? Hier ist mein CodeEmguCv EigenObjectRecognizer creating instance

string[] allFaces = Directory.GetFiles(savepath); 
      if (allFaces != null) 
      { 


       Image<Gray, Byte>[] trainingImages = new Image<Gray, Byte>[allFaces.Length]; 
       string[] labels = new String[allFaces.Length]; 

       for (int i = 0; i < allFaces.Length; i++) 
       { 
        trainingImages[i] = new Image<Gray, byte>(new Bitmap(allFaces[i])); 
        labels[i] = allFaces[i].Substring(allFaces[i].LastIndexOf("\\")+1); 
       } 


       MCvTermCriteria termCrit = new MCvTermCriteria(allFaces.Length, 0.001); 

       EigenObjectRecognizer recognizer = new EigenObjectRecognizer(
        trainingImages, 
        labels, 
        1000, 
        ref termCrit); 



       Image<Gray, Byte> testImage = new Image<Gray, Byte>(@"C:\..test\1"); 

       string label = recognizer.Recognize(testImage).Label; 
       MessageBox.Show(label); 
      } 

Antwort

0

das Problem gelöst durch einen Fehler aus rohem Laufe der kompilierten exe bekommen, die einen Fehler von Eingang nicht gleich groß aus opencv statt emgucv gab. Wenn ich meine Trainingsbilder anschaute, waren sie unterschiedlich groß. Hoffe es hilft anderen