c#_使用emgu3.0操作本地網路攝影機__c#

來源:互聯網
上載者:User
c#_使用emgucv 3.0 操作本地網路攝影機

首先我們要下載emgu3.0,安裝包,[下載地址]http://www.emgu.com/wiki/index.php/Download_And_Installation

安裝完成以後,根據你要所開發的應用的平台,在安裝目錄的bin目錄下選擇x86或者x64 複製裡面的四個dll檔案 : cvextern.dll + msvcp120.dll + msvcr120.dll + opencv_ffmpeg310_64.dll / opencv_ffmpeg310.dll 到應用的開發目錄的bin/debug目錄下,此外將安裝目錄bin目錄下的所有dll檔案添加引用,包括 : cvextern.dll + Emgu.CV.Contrib.dll + Emgu.CV.Cuda.dll + Emgu.CV.dll + Emgu.CV.ML.dll + Emgu.CV.OCR.dll + Emgu.CV.Shape.dll + Emgu.CV.Stitching.dll + Emgu.CV.Superres.dll + Emgu.CV.UI.dll + Emgu.CV.UI.GL.dll + Emgu.CV.VideoStab.dll + Emgu.Util.dll + msvcp120.dll + msvc120.dll+ opencv_ffmpeg300_64.dll;最好是把上面的所有檔案都複製到debug目錄下。

在做好上面的準備工作之後,我們還要進行一個操作。添加imagebox控制項,這個控制項是在Emgu.CV.UI.dll檔案中的,.net平台並沒有提供。添加控制項的步驟如下: 開啟工具箱面板,按右鍵工具箱空白地區,選擇添加選項卡並命名為emgu.ui。

找到Emgu.CV.UI.DLL 檔案 將其拖入我們剛建立的選項卡中,這個時候我們的選項卡裡就會多出幾個控制項,

進入設計檢視,將imagebox 添加到表單中

官方添加控制項教程連結(英文):<連結> http://www.emgu.com/wiki/index.php/Add_ImageBox_Control

添加完控制項,就可以開始寫代碼了。

using Emgu.CV;using System;using System.Windows.Forms;namespace RecognizeFace{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        private Capture cap;        private bool isProcess = false;        void button1_Click(object sender, EventArgs e)        {            if (cap != null)            {                if (isProcess)                {                    Application.Idle -= new EventHandler(ProcessFram);                    button1.Text = "stop!";                }                else                {                    Application.Idle += new EventHandler(ProcessFram);                    button1.Text = "start!";                }                isProcess = !isProcess;            }            else            {                try                {                    cap = new Emgu.CV.Capture();                }                catch (NullReferenceException expt)                {                    MessageBox.Show(expt.Message);                }            }        }        private void ProcessFram(object sender, EventArgs arg)        {            imageBox1.Image = cap.QueryFrame();        }    }}

代碼很簡單,主要是配置問題。代碼就不細說了。

異常 : 如果在啟動並執行時候出現了異常:“Emgu.CV.CvInvoke”的類型初始值設定項引發異常。” 就我現在知道的,可能是因為沒有將cvextern.dll + msvcp120.dll + msvcr120.dll + opencv_ffmpeg310_64.dll / opencv_ffmpeg310.dll 這四個dll檔案添加到debug目錄下。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.