【EMGU】EMGU中人脸检测的例子

Emgu:可以理解为opencv的另外一种形式的库,它可以兼容.NET的C#、C++、VB、python,也能支持跨平台,Windows, Linux, Mac OS X, iOS, Android 和 Windows Phone等等。以下是C#中Emgu的简单实例,,检测图像或者视频中是否有人脸。如果有,会在图片框中显示人脸部分。using System;using System.Windows.Forms;using System.Drawing;using Emgu.CV;using Emgu.Util;using Emgu.CV.Structure;using Emgu.CV.CvEnum; namespace opencvtut{public partial class Form1 : Form{private Capture cap;private HaarCascade haar;public Form1(){InitializeComponent();}private void timer1_Tick(object sender, EventArgs e){using (Image<Bgr, byte> nextFrame = cap.QueryFrame()){if (nextFrame != null){// there's only one channel (greyscale), hence the zero index//var faces = nextFrame.DetectHaarCascade(haar)[0];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);}pictureBox1.Image = nextFrame.ToBitmap();}}}private void Form1_Load(object sender, EventArgs e){// passing 0 gets zeroth webcamcap = new Capture(0);// adjust path to find your xmlhaar = new HaarCascade("..\\..\\..\\..\\lib\\haarcascade_frontalface_alt2.xml");}}}

自己战胜自己是最可贵的胜利。

【EMGU】EMGU中人脸检测的例子

相关文章:

你感兴趣的文章:

标签云: