首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用emgucv检测人脸和嘴巴后如何确定面部特征

使用emgucv检测人脸和嘴巴后如何确定面部特征
EN

Stack Overflow用户
提问于 2017-07-26 06:30:37
回答 1查看 699关注 0票数 2

我正在研究c#中的情绪检测,因为通过emgucv和haarcascades,我检测到了脸、嘴和眼睛,现在如何确定面部的情感是什么,以便使用下面的代码来检测。

代码语言:javascript
复制
var faces = grayframe.DetectHaarCascade(
                        haar, 1.4, 4,
                        HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,
                        new Size(nextFrame.Width / 8, nextFrame.Height / 8)
                        )[0];
  foreach (var f in faces)
  {    
  image.Draw(f.rect, new Bgr(Color.Blue), 2);    
    gray.ROI = f.rect;
 var mouthsDetected = gray.DetectHaarCascade(mouth, 
                          1.1, 10, 
                          Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, 
                          new Size(20, 20));
 gray.ROI = Rectangle.Empty;


 foreach (var m in mouthsDetected [0])
 {
      Rectangle mouthRect = m.rect;
      mouthRect.Offset(f.rect.X, f.rect.Y);
      image.Draw(mouthRect , new Bgr(Color.Red), 2);
 }

}

我从here找到了这段代码。有没有人建议我该怎么做才能找到脸部的特征。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-08 03:42:30

  1. 简单的解决方案是预先训练分类器“微笑检测器”。 字符串smile_cascade_name = "haarcascades\haarcascade_smile.xml"; 我不记得"haarcascade_smile.xml“和Emgu一起来了。如果没有,它可能会附带opencv源代码。https://github.com/opencv/opencv/tree/master/data/haarcascades
  2. 最难的就是自己训练。这件事很牵扯。你可以去ImageNet下载所有的微笑图片,悲伤的图片和其他情感,然后用opencv内置的"opencv_traincascade“函数.http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html来训练它。有时我要花两周的时间训练一个分类器。

您可以在EMGU代码中使用经过opencv培训的xml。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45319105

复制
相关文章

相似问题

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