AForge,Emgu.CV抓拍圖像大小
阿新 • • 發佈:2019-02-15
vid 視頻 機器 direct ice 設置 args template set 原文: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年能有空寫上十幾篇。AForge,Emgu.CV抓拍圖像大小