首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >face regonition OpenCV 2.2

face regonition OpenCV 2.2
EN

Stack Overflow用户
提问于 2013-01-09 15:10:23
回答 1查看 996关注 0票数 0

嗨,我正在使用人脸检测的代码。但我不会继续做人脸识别。但是我在这里得到了堆栈,下一步是怎么做的。然而,我使用的是emgu版本2.2

代码语言:javascript
复制
            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#代码中有任何好的在线参考?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-15 16:02:26

你的代码几乎是正确的,但我认为你不知道下一步该做什么。我正在我的一个应用程序中进行人脸识别,以便在脸上显示一个面具。我是这样做的。

代码语言:javascript
复制
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;
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14230027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档