我错过了什么?

VS 找不到 Capture 和 HaarCascade。
我添加了所有 opencv .dll 和“始终复制”。

并添加了 Emgu 的引用。

我的 Emgu 是 emgucv-windesktop 3.2.0.2682-сuda。视觉工作室 2017

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using Emgu.CV;
    using Emgu.Util;
    using Emgu.CV.Structure;
    using Emgu.CV.CvEnum;
    using System.Windows;

    namespace Emgu.FaceDetection
    {
        public partial class Form1 : Form
        {
            private Capture cap;
            private HaarCascade haar;
            public Form1()
            {
                InitializeComponent();
            }
        }
    }

最佳答案

使用 EmguCV3.X 时不能使用 HaarCascade,它已被弃用并替换为 CascadeClassifier
请参阅 here for an explination ,总结是它已更改为类似于以下内容:

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

一个更完整的示例和教程,使用 3.X 可以找到 here ,该博客的一个片段:
private CascadeClassifier _cascadeClassifier;
_cascadeClassifier = new CascadeClassifier(Application.StartupPath + "/haarcascade_frontalface_alt_tree.xml");
using (var imageFrame = _capture.QueryFrame().ToImage<Bgr, Byte>())
                {
                    if (imageFrame != null)
                    {
                        var grayframe = imageFrame.Convert<Gray, byte>();
                        var faces = _cascadeClassifier.DetectMultiScale(grayframe, 1.1, 10, Size.Empty); //the actual face detection happens here


foreach (var face in faces)
                    {
                        imageFrame.Draw(face, new Bgr(Color.BurlyWood), 3); //the detected face(s) is highlighted here using a box that is drawn around it/them

                    }
                }
                imgCamUser.Image = imageFrame;
            }

关于C# Emgu,找不到 Capture 和 HaarCascade,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46410342/

10-10 21:56