Ich versuche, eine Gesichtserkennung mit EmguCV durchzuführen. Ich habe mich gefragt, ob ich EigenObjectRecognizer für diese Aufgabe verwenden kann? Kann mir jemand erklären, wie man es benutzt? Denn wenn es keine no-match Foto gibt, gibt es auch einen Wert zurück. Hier ist ein Beispiel:
Image<Gray, Byte>[] trainingImages = new Image<Gray,Byte>[5];
trainingImages[0] = new Image<Gray, byte>("brad.jpg");
trainingImages[1] = new Image<Gray, byte>("david.jpg");
trainingImages[2] = new Image<Gray, byte>("foof.jpg");
trainingImages[3] = new Image<Gray, byte>("irfan.jpg");
trainingImages[4] = new Image<Gray, byte>("joel.jpg");
String[] labels = new String[] { "Brad", "David", "Foof", "Irfan" , "Joel"}
MCvTermCriteria termCrit = new MCvTermCriteria(16, 0.001);
EigenObjectRecognizer recognizer = new EigenObjectRecognizer(
trainingImages,
labels,
5000,
ref termCrit);
Image<Gray,Byte> testImage = new Image<Gray,Byte>("brad_test.jpg");
String label = recognizer.Recognize(testImage);
Console.Write(label);
Aber wenn ich das Foto in testimage ändere, wird auch ein Name oder sogar Brad zurückgegeben. ist es gut für die Gesichtserkennung, diese Methode zu verwenden? Oder gibt es eine bessere Methode?