在c#中使用EMGU CV进行面部检测

时间:2016-04-01 16:47:32

标签: c# emgucv

我正在使用c#中的Emgu CV进行人脸检测。这是一个Windows窗体应用程序WFP。代码没有任何编译错误,但没有检测到图像中的任何面,并且Null reference exception函数在运行时抛出DetectHaarCascade时间。 以下是代码段

    private void button1_Click(object sender, EventArgs e)
    {
        OpenFileDialog open = new OpenFileDialog();
        if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            Image img = Image.FromFile(open.FileName);
           pictureBox1.Image = img;
            Image<Bgr, byte> ImageFrame = new Image<Bgr, byte>(new Bitmap(img));
           pictureBox1.Image = ImageFrame.ToBitmap();
              if (ImageFrame != null)
              {
                  Image<Gray, byte> grayframe = ImageFrame.Convert<Gray, byte>();
                  try
                  {
                      MCvAvgComp[][] faces = grayframe.DetectHaarCascade(haar, 1.4, 4, HAAR_DETECTION_TYPE.DO_CANNY_PRUNING, new Size(ImageFrame.Width / 8, ImageFrame.Height / 8));


                      foreach (MCvAvgComp face in faces[0])
                      {
                          ImageFrame.Draw(face.rect, new Bgr(Color.Green), 3);
                      }

我还添加了Emgu dll文件所需的所有引用,并且还将所有openCV dll文件添加到项目的debug文件夹中。 我正在使用visual studio 2010和             Emgu CV 2.4。 提前谢谢。

0 个答案:

没有答案