AForge,Emgu.CV抓拍图像大小

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年 有空写上十几篇。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值