2013-01-09 2 views
0

HI Im en utilisant le code pour la détection de visage. mais je ne vais pas continuer avec la reconnaissance faciale. Mais je vais empiler ici où, comment pour la prochaine étape. Cependant, im en utilisant la version emgu 2,2face regonition OpenCV 2.2

  if (faces.Length > 0) 
      { 
       foreach (var face in faces) 
       { 
        ImageFrame.Draw(face.rect, new Bgr(Color.Green), 2); 
        //Extract face 
        ExtractedFace = new Bitmap(face.rect.Width, face.rect.Height); 

        FaceConvas = Graphics.FromImage(ExtractedFace); 
        FaceConvas.DrawImage(GrayBmpInput, 0, 0, face.rect, GraphicsUnit.Pixel); 
        ExtcFacesArr[faceNo] = ExtractedFace; 
        faceNo++; 

       } 

       faceNo = 0; 
       picExtcFaces.Image = ExtcFacesArr[faceNo]; 

       CamImageBox.Image = ImageFrame; 
      } 
     } 

Où dois-je poursuivre la reconnaissance faciale et ont une bonne référence en ligne dans le code C#?

Répondre

1

Vous code est presque correct, mais je pense que vous ne savez pas quoi faire ensuite.Je fais la reconnaissance du visage dans une de mes applications pour montrer un masque sur le visage.Je fais comme ça.

Image mask = Image.FromFile("mask.png"); 
public Bitmap getFacedBitmap(Bitmap bbb) 
    { 
     using (Image<Bgr, byte> nextFrame = new Image<Bgr, byte>(bbb)) 
     { 
      if (nextFrame != null) 
      { 
       // there's only one channel (greyscale), hence the zero index 
       //var faces = nextFrame.DetectHaarCascade(haar)[0]; 
       Image<Gray, byte> grayframe = nextFrame.Convert<Gray, byte>(); 
       //Image<Gray, Byte> gray = nextFrame.Convert<Gray, Byte>(); 

       var faces = grayframe.DetectHaarCascade(haar, 1.3, 2, HAAR_DETECTION_TYPE.SCALE_IMAGE, new Size(nextFrame.Width/8, nextFrame.Height/8))[0]; 
       if (faces.Length > 0) 
       { 
        foreach (var face in faces) 
        { 
         //ImageFrame.Draw(face.rect, new Bgr(Color.Green), 2); 
         //      
         using(Graphics g = Graphics.FromImage(bbb)) 
        { 
         g.DrawImage(mask,face.rect); 
         g.Save() 
        } 
        } 

       } 
      } 
     } 
    retun bbb; 
    } 
+0

Salut merci pour votre aide .. il me donne quelques bons coups sur cela. Merci beaucoup... – user994985

Questions connexes