您的位置:首页 > 运维架构

emgucv-windesktop 3.2.0.2682 实现打开摄像头,人脸跟踪,视频录像

2017-10-13 09:07 1516 查看
网上关于emgucv 3.2版本的使用说明很少,都是一些老版本的,很多函数都不一样了,所以自己整理一下emgucv 3.2的基本用法,包括打开摄像头,人脸跟踪,视频录像

1.配置安装详见地址点击打开链接(http://www.cnblogs.com/xh6300/p/5941986.html)

2.emgucv-windesktop 3.2.0.2682下载地址  点击打开链接(https://sourceforge.net/projects/emgucv/postdownload?source=dlp)

安装完毕之后,在安装目录下“\emgucv-windesktop 3.2.0.2682\Emgu.CV.Example”是存放的Emgucv的例子,本文通过修改CameraCapture的源码实现人脸跟踪,视频录像

编译环境:vs2013+.net4.0+emgucv-windesktop 3.2

运行效果



具体实现:

1.摄像头操作

主要使用VideoCapture类进行操作;在事件ImageGrabbed中处理的显示,代码如下

try
{
_capture = new VideoCapture();
_fps = (int)(_capture.GetCaptureProperty(CapProp.Fps));
//_capture.SetCaptureProperty(CapProp.FrameWidth,1280);
//_capture.SetCaptureProperty(CapProp.FrameHeight, 720);
_capture.ImageGrabbed += ProcessFrame;
}
catch (NullReferenceException excpt)
{
MessageBox.Show(excpt.Message);
}
2.人脸检测

封装了一个类DetectFace,进行人脸和眼睛的检测,训练库使用的emgu自带的haarcascade_frontalface_default.xml和haarcascade_eye.xml

//人脸检测
long detectionTime;
List<Rectangle> faces = new List<Rectangle>();
List<Rectangle> eyes = new List<Rectangle>();
DetectFace.Detect(_frame, @"haarcascade_frontalface_default.xml", @"haarcascade_eye.xml", faces, eyes, out detectionTime);
foreach (Rectangle face in faces)
CvInvoke.Rectangle(_frame, face, new Bgr(Color.Red).MCvScalar, 2);
foreach (Rectangle eye in eyes)
CvInvoke.Rectangle(_frame, eye, new Bgr(Color.Blue).MCvScalar, 2);


3.视频录像

使用了VideoWriter类,只需要调用Write方法就可以把摄像头里得到的帧写入到视频文件中;但是要注意格式

mp4视频保存方法:

_videoname = DateTime.Now.ToString("yyyyMMddHHmmss") + ".mp4";
_fps = 5;
_writer = new VideoWriter(_videoname, VideoWriter.Fourcc('D', 'I', 'V', 'X'), _fps, new System.Drawing.Size(_capture.Width, _capture.Height), true);


avi视频保存方法

string videoname = Path.Combine(filepath, DateTime.Now.ToString("yyyyMMddHHmmss") + ".avi");
VideoWriter writer = new VideoWriter(videoname, fps, new System.Drawing.Size(frameW, frameH), true);


附源码下载,由于依赖库太大没有上传,只上传了源码,下载源码之后,生成路径修改为安装的“emgucv-windesktop 3.2.0.2682\bin”下即可;

现在好像不能上传0分的资源了???

源码下载地址

附emgu3.2下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐