c#_使用emgu3.0操作本地攝像頭
轉載於
https://blog.csdn.net/pengjian444/article/details/50647471
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();
}
}
}
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
程式碼很簡單,主要是配置問題!程式碼就不細說了。
異常 : 如果在執行的時候出現了異常:“Emgu.CV.CvInvoke”的型別初始值設定項引發異常。” 就我現在知道的,可能是因為沒有將cvextern.dll + msvcp120.dll + msvcr120.dll + opencv_ffmpeg310_64.dll / opencv_ffmpeg310.dll 這四個dll檔案新增到debug目錄下。
---------------------
本文來自 PJZero 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/pengjian444/article/details/50647471?utm_source=copy