我使用Emgucv进行人脸识别,但FaceRecognizer的Predict方法并不起作用。每当我在下面运行这些代码时,我都没有结果。有谁知道如何修理它?提前致谢。 Emgucv版本是Emgu.CV-3.0.0-rc1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using Emgu.CV.UI;
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
namespace ConsoleFaceRecognition
{
class Program
{
static void Main(string[] args)
{
//training variables
Image<Bgr, Byte>[] images = new Image<Bgr, Byte>[20];
int[] labels = new int[20];
for (int i = 0; i < 10; i++)
{
images[i] = new Image<Bgr, Byte>("D:/visual studio 2013 projects/ConsoleFaceRecognition/ConsoleFaceRecognition/trainingImages/s1/11" + i.ToString() + ".png");
images[i + 10] = new Image<Bgr, Byte>("D:/visual studio 2013 projects/ConsoleFaceRecognition/ConsoleFaceRecognition/trainingImages/s2/21" + i.ToString() + ".png");
labels[i] = 1;
labels[i + 10] = 2;
}
FaceRecognizer recognizer = new FisherFaceRecognizer(0, 3500);
recognizer.Train(images, labels);
Image<Bgr, Byte> testImage = new Image<Bgr, Byte>("D:/visual studio 2013 projects/ConsoleFaceRecognition/ConsoleFaceRecognition/trainingImages/s2/213.png");
FaceRecognizer.PredictionResult result = recognizer.Predict(testImage);
Console.Write(result.Label);
}
}
}
答案 0 :(得分:0)
我认为20张图像不足以进行训练,如果可能的话增加样本数量。您的样品的大小和内容也很重要。这些图像中的所有面部应具有相同的尺寸,例如正面以供您的训练工作。
希望它有所帮助。