2017-07-19 9 views
0

私はEmgu CV 2.4.0.1717を使用していますが、私はMatクラスを宣言するたびに存在しません。私は画像をキャプチャすることができるC#を使用してアプリケーションを作成しようとしています。これは私の顔認識プロジェクトのためのものです。Emgu CVイメージキャプチャC#を使用して

私はMatオブジェクトを宣言しようとしましたが、存在しません。私はEmgu CVの他のバージョンを使ってみました。しかし、HaarCascadeは存在しません。代わりにCascadeClassifierを使用する必要があると述べましたが、まだエラーがあります。ここに私のコードです:

public partial class Camera : Form 
{ 

    private VideoCapture cap; 
    private HaarCascade haar; 

    private void Camera_Load(object sender, EventArgs e) 
    { 
     // passing 0 gets zeroth webcam 
     cap = new VideoCapture(0); 
     // adjust path to find your xml 
     haar = new HaarCascade(
     "haarcascade_frontalface_default.xml"); 
    } 

    private void timer1_Tick(object sender, EventArgs e) 
    { 
     using (Image<Bgr, byte> nextFrame = cap.QueryFrame()) 
     { 
      if (nextFrame != null) 
      { 

       Image<Gray, byte> grayframe = nextFrame.Convert<Gray, byte>(); 
       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 face in faces) 
       { 
        nextFrame.Draw(face.rect, new Bgr(0, double.MaxValue, 0), 3); 
       } 
       imgCamUser.Image = nextFrame.ToBitmap(); 
      } 
     } 
    } 
} 

答えて

0

あなたがアクセスしようとしているMatクラスはemgucv 3+からです。 HaarCascadeクラスはemguの下位バージョンです。

emguをemgu 3にアップグレードする必要があります。hereからHaarCascadeではなくCascadeClassifierを使用する必要があります。

関連する問題