創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)建站主要從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)榮縣,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220這篇文章將為大家詳細(xì)講解有關(guān)C#利用AForge實(shí)現(xiàn)攝像頭信息采集的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
概述
AForge.NET是一個(gè)專門為開發(fā)者和研究者基于C#框架設(shè)計(jì)的,提供了不同的類庫(kù)和關(guān)于類庫(kù)的資源,還有很多應(yīng)用程序例子,包括計(jì)算機(jī)視覺與人工智能,圖像處理,神經(jīng)網(wǎng)絡(luò),遺傳算法,機(jī)器學(xué)習(xí),機(jī)器人等領(lǐng)域。本文主要講解利用AForge進(jìn)行圖像采集的相關(guān)內(nèi)容【包括拍照,視頻錄制】,僅供學(xué)習(xí)分享使用。
AForge.Net相關(guān)類庫(kù)介紹
通過NuGet管理器引入AForge類庫(kù)
項(xiàng)目名稱右鍵-->管理NuGet程序包,打卡NuGet包管理器 如下所示:
示例效果圖
本示例主要包括打開,關(guān)閉攝像頭,拍照,連續(xù)拍照,開始錄制視頻,暫停錄制視頻,停止錄視頻,退出等功能。
如下所示:左側(cè)為攝像頭投影區(qū)域,右側(cè)為圖像控件,顯示拍照所得的圖片
核心代碼
獲取視頻設(shè)備列表以及設(shè)備對(duì)應(yīng)的分辨率
////// 頁面加載攝像頭設(shè)備 /// /// /// private void FrmMain_Load(object sender, EventArgs e) { try { this.lblTime.Text = ""; // 枚舉所有視頻輸入設(shè)備 videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice); if (videoDevices.Count == 0) { lblStatus.Text = "No local capture devices"; } foreach (FilterInfo device in videoDevices) { int i = 1; cmbDevices.Items.Add(device.Name); lblStatus.Text = ("攝像頭" + i + "初始化完畢..." + "\n"); i++; } cmbDevices.SelectedIndex = 0; } catch (ApplicationException) { this.lblStatus.Text = "No local capture devices"; videoDevices = null; } } private void cmbDevices_SelectedIndexChanged(object sender, EventArgs e) { this.cmbResolution.Items.Clear(); videoSource = new VideoCaptureDevice(videoDevices[cmbDevices.SelectedIndex].MonikerString); foreach(var cap in videoSource.VideoCapabilities) { this.cmbResolution.Items.Add(string.Format("({0},{1})",cap.FrameSize.Width,cap.FrameSize.Height)); } if (this.cmbResolution.Items.Count > 0) { this.cmbResolution.SelectedIndex = 0; } }