1、簡單說明
Emgu是Dot Net平台對OpenCV的封裝,本質上沒有增加新功能,是通過Dot Net的平台調用技術直接調用OpenCV C++語言寫的庫,使用我們可以方便用.net平台通過OpenCV去處理圖像,最大的好處是可以利用.net豐富的類庫及各種資源,還有.net的開發效率較快,讓不熟悉C++語言的人也可以很方便使用OpenCV。
Emgu的官網是 http://www.emgu.com ,根據官網說法,Emgu是跨平台的,可以在Winodws、Linux、Mac OS X、IPhone、Android中使用。
2、下載及安裝
Emgu是開源的,可以sourceforge下載,下載地址 http://sourceforge.net/projects/emgucv/ ,安裝說明可參考 http://www.emgu.com/wiki/index.php/Download_And_Installation
現在最新版本是2.9,下載的安裝包有208M。
安裝過程沒有什么特別的,就相當於解壓到某個目錄。當安裝完成后,打開安裝目錄如下,我安裝在D盤,目錄是 D:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\
其中,bin\x86目錄是OpenCV的32位庫文件,bin\x64目錄是OpenCV的64位庫文件,Emgu運行時,會根據當前的平台決定是加X86目錄下的DLL還是X64目錄下的DLL。
Emgu.CV.Example目錄放是的示例程序的源代碼,
Emgu.CV、Emgu.Util、Emgu.CV.ML、Emgu.CV.OpenCL、Emgu.CV.UI、Emgu.CV.WPF、Emgu.CV.GPU、Emgu.CV.OCR、Emgu.CV.Stiching、Emgu.CV.VideoStab 這些目錄放的是Emgu的源碼,這些目錄和OpenCV各模塊是相互對應的。
lib和include兩個目錄放的是C++的引用動態庫和頭文件,用C++編寫OpenCV程序時需要用到這兩個目錄的文件。
Solution目錄方向的是微軟VS的解決方案文件,可以直接打開。
Emgu.CV.DeguggerVisualizers目錄未明白是干什么用的。
3、打開源代碼及示例程序
打開目錄 D:\Emgu\emgucv-windows-universal-cuda 2.9.0.1922\Solution\VS2010_2012 可以看到有三個文件
如果電腦上已經裝有VS2010或者VS2012,那么雙擊 Emgu.CV.sln這個文件即可打開源碼,打開的解決方案如下
雙擊Emgu.CV.Example.sln可打開示例程序,示例解決方案的項目比較多,還包含的源碼項目,這樣可以直接調試進入Emgu源碼
4、運行“HelloWorld”
在“HelloWorld”項目上右鍵,“調試”=》“啟動新實例”,即可運行“HelloWorld”程序,運行結果如下
5、HelloWorld項目分析
打開HelloWorld項目的引用可知,HelloWord需要引用Emgu.CV和Emgu.Util兩個項目。
打開Program.cs源文件,可以看到還是比較簡單的,如果寫過OpenCV程序,應該很容易看得懂,因為Emgu保留了OpenCV的方法名,又由於Emgu只是對OpenCV進行平台調用封裝,所以寫法上和OpenCV C++程序也差多。