2017年,忙忙碌碌地过去了,象往年一样,依然没有时间上优快云,博客园。
这一年是打工以来最辛苦的一年。
这一年用了不少自己没有接触过的东西。如人脸识别,小程序,android开发等。
从.net到java,开发当中有很多坑,有些是通过baidu,bing搜到国内外辛苦贡献的开发人员的答案而解决的。
而我根本没有时间把这些解决方法贡献到社区,因为象一台机器要不停地运转,产出……
在做人脸识别项目时使用了:AForge,Emgu.CV。用它们来显示视频和抓拍图片。
相对来说AForge占用资源少点。人脸图片大小需要控制在合适的范围内,识别率才高。
图片的大小我选择了源头控制方式, 抓拍出来的图片就能用。
AForge
mImageSize = new ResizeNearestNeighbor(width, Height);
videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
//2.0以上的版本已不支持
videoSource.DesiredFrameSize = new Size(width, Height);
videoSource.DesiredFrameRate = 1;
用下面方法来处理。
using AForge.Video.DirectShow;
using AForge.Video;
using System.Configuration;
using AForge.Imaging.Filters;
private ResizeNearestNeighbor mImageSize;
//抓拍时处理
void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
try
{
Bitmap bmp = mImageSize.Apply(eventArgs.Frame);
bmp.Save(mCatchImagePath);
bmp.Dispose();
}
catch (Exception ex)
{
}
}
Emgu.CV 直接设置
mCapture = new Capture(0);
mCapture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.Fps, 30);
mCapture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameWidth, 640);
mCapture.SetCaptureProperty(Emgu.CV.CvEnum.CapProp.FrameHeight, 480);利用年底的空闲写一篇,希望2018年能有空写上十几篇。
本文回顾了2017年的技术探索之路,分享了作者在人脸识别项目中使用AForge和Emgu.CV进行视频显示与图片抓拍的经验,以及从小程序到Android开发的跨平台技术心得。
5705

被折叠的 条评论
为什么被折叠?



