2013-01-09 5 views
0

안녕 얼굴 인식 용 코드를 사용하고 있습니다. 그러나 나는 얼굴 인식으로 계속하려고하지 않습니다. 하지만 여기에 스택을 얻으십시오. 다음 단계는 어떻게해야합니까? 그러나, 메신저 버전 2.2를 사용하여 메신저얼굴 교정 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; 
      } 
     } 

나는 얼굴 인식을 계속해야하며 C# 코드에서 온라인으로 좋은 참조를 받아야합니까?

답변

1

코드가 거의 정확하지만 다음에해야할 일이 무엇인지 모를 것 같아요. 얼굴에 가면을 보여주는 내 앱에서 얼굴 인식을하고 있습니다. 나는 이렇게하고 있습니다.

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

안녕하세요. 도움을 주셔서 감사합니다. 저에게 좋은 결과를주세요. 고마워요 ... – user994985