c# - emguCV 3.1 - 人脸检测

标签 c# opencv emgucv face-detection

我是 C# 中的 OpenCV/EmguCV 新手。 我尝试了一个教程 ( http://fewtutorials.bravesites.com/entries/emgu-cv-c/level-3---live-face-detection ),使用网络摄像头拍摄视频很容易。现在我的问题: 本教程是为 EmguCV 2.x 编写的。我正在使用 EmguCV 3.1(我喜欢使用最新的)。因此,我使用了类 Mat而不是类 Image<> .类(class)Image<>没有与 capture.QueryFrame(); 合作过 但是当我进行人脸检测时,教程说我应该使用类 CascadeClassifierDetectHaarCascade . CascadeClassifier被接受但是DetectHaarCascade不知道。 在我的 5 小时内!搜索我刚刚发现,DetectHaarCascade 已过时但没有找到任何替代它的方法 HaarCascade.Detect()这也是未知的。

我有以下组件:

using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.Util;
using Emgu.CV.CvEnum;

所以,请帮助我:DetectHaarCascade 的替代品是什么?我该如何使用它?有没有 EmguCV 3.1 的教程?

谢谢!!

最佳答案

henne959,我也是 emgu c# 的新手 - 但对 opencv 领域有一些了解。首先要意识到的是它在进化。名称改变。所以保持开放的心态。我最近玩过人脸检测 a la emgu c# (3.0) 并找到了你提到的教程。 CascadeClassifier 类就在那里。但是,我发现 HAAR 检测器(我想使用)显示为该类的扩展:DetectMultiScale

在研究这个主题时我注意到的链接中 - 这两个是我最喜欢的(抱歉 - 我没有代表点数来包含更多链接) http://fewtutorials.bravesites.com/entries/emgu-cv-c/level-3c---how-to-improve-face-detection http://blogs.interknowlogy.com/2013/10/21/face-detection-for-net-using-emgucv/

这两行代码可能会帮助您将各个部分联系在一起

CascadeClassifier _cascadeClassifier = new CascadeClassifier(@"C:\OPENCV_3.0.0\opencv\build\etc\haarcascades\" + "haarcascade_frontalface_alt2.xml");

Rectangle RectFaces = _cascadeClassifier.DetectMultiScale(tMat, 1.03, 1, new Size(tMat.Width/13, tMat.Height/13), new Size((int)((double)tMat.Width/1.05), (int)((double)tMat.Width / 1.05)));

希望这对您有所帮助!

关于c# - emguCV 3.1 - 人脸检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35394522/

相关文章:

c# - 使用反射从 Soap Client 获取 Web 服务方法

c# - 无法在 Visual Studio 2015 中通过 NuGet 安装 EmguCV

python - 如何沿着对象的中心画一条线

c++ - 制作 OpenCV 时出错

emgucv - 试图加载格式不正确的程序。 (来自 HRESULT : 0x8007000B) Error 的异常

opencv - 直方图 bin 总数不等于图像像素大小

C# 通过实现的显式转换获取转换异常

c# - 使用 Visual Studio 调试器查看/诊断内存转储中的逻辑 .NET 线程

c# - 为什么我不能从 CaptureCollection 对象调用 Select()?

c++ - 在 visual studio 中使用 calcOpticalFlowPyrLK() 函数