Emgu下人脸识别算法的调用
简单编写了一个C#的人脸识别的程序,检测方法采用默认的CascadeClassifier
privatevoidFaceDetcBtn_Click(object sender,EventArgs e)
{
Image<Gray,Byte> img =newImage<Gray,Byte>(filename);
//载入训练库数据
CascadeClassifierFacedetect=newCascadeClassifier("haarcascade_frontalface_alt2.xml");
Rectangle[] faceRect =Facedetect.DetectMultiScale(img,1.1,2,Size.Empty,Size.Empty);
Emgu.CV.Image<Bgr,Byte> imgori =newEmgu.CV.Image<Bgr,byte>(filename);
for(int i =0; i < faceRect.Length; i++)
{
Bgr clr =newBgr(15.0f,15.0f,220.0f);
imgori.Draw(faceRect[i],clr,1);
}
picBox2.Image= imgori.ToBitmap();
imgori.Save(name +"_faceDetected.jpg");
}
默认代码的错误率较高,识别能力不好,建议自己编写更好的识别算法。