2017年,忙忙碌碌地过去了,象往年一样,依然没有时间上CSDN,博客园。
这一年是打工以来最辛苦的一年。
这一年用了不少自己没有接触过的东西。如人脸识别,小程序,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年
能有空写上十几篇。