首先先介紹一下OpenCV,OpenCV的全稱是:Open Source Computer Vision Library,OpenCV是一個基於(開源)發行的跨平台計算機視覺庫,可以運行在Linux、Windows和Mac OS操作系統上。它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現了
圖像處理和計算機視覺方面的很多通用算法。OpenCV 擁有包括 300 多個C函數的跨平台的中、高層 API。它不依賴於其它的外部庫——盡管也可以使用某些外部庫。
OpenCV中文學習站點
http://www.opencv.org.cn
EmguCV是OpenCV的一個跨平台的.Net封裝,由於OpenCV是用C和C++編寫的,Emgu用C#對其進行封裝,允許用.Net語言來調用OpenCV函數,如C#、VB、VC++等,同時該封裝也可以被編譯到Mono平台和允許在Windows、Mac OS、Android、iPhone、iPad等多個平台上運行
特性:
Image class with Generic Color and Depth
Automatic garbage collection(自動垃圾回收)
Xml Serializable Image(用於網絡)
Image class / Direct invoke function from OpenCV(直接對OpenCV函數的invoke操作)
Generic operations on image pixel(對像素操作)
接下來看看EmguCV的使用
1、到Emgu官方下載Emgu庫
http://www.emgu.com
這里使用的是
libemgucv-windows-universal-gpu-2.4.9.1847.exe (228.6 MB)
2、解壓或安裝完后得到下面文件

先安裝 vcredist_x86 (如果需要開發的是64位的程序,擇安裝x64版本,我是兩個都裝)
3、進入bin/x86文件夾
圖中框出來的是運行時所需要的依賴文件,在開發時,需要把這些文件復制到程序的Debug文件夾內,不然會拋出
T
ypeInitializerException 異常

4、有關Emgu相關的類都在bin文件夾里面

5、下面演示一下Hello World程序
新建一個工程,引用兩個庫

引用命名控件,
記得還要把上面框出來的OpenCV依賴文件復制到Debug目錄下
using Emgu.CV; using Emgu.CV.CvEnum; using Emgu.CV.Structure;
添加一個按鈕,一個PictureBox控件
private void button1_Click(object sender, EventArgs e) { Image<Bgr, byte> img = new Image<Bgr, byte>(480, 320, new Bgr(0, 255, 0)); MCvFont f = new MCvFont(FONT.CV_FONT_HERSHEY_TRIPLEX, 1.0, 1.0); img.Draw("hello world", ref f, new Point(10, 80), new Bgr(0, 0, 0)); pictureBox1.Image = img.ToBitmap(); }