EmguCV簡單說就是OpenCV在.Net上的Wrapper
(Net wrapper to the OpenCV image processing library.)
最新版已經到2.4.0
(跟著OpenCV同步更新)
過去剛接觸時覺得安裝很麻煩
現在回過頭看卻覺得其實非常簡單!!
首先到EmguCV下載頁面
可以選擇你想要的版本
目前筆者是使用2.3.0
(2.4.0測試時有發現一些Bug所以就沒更新了!!)
筆者都是直接抓Zip檔
裡面很貼心地包含EmguCV的Source code跟範例程式
也包含了Visual Studio 2008、2010版本
(真的是非常佛心,最新版的還提供2012的版本)
根據使用者需求選擇平台類型(x64或是x86)
下載完後將其解壓縮會產生一個資料夾
到裡面的Solution->VS2010(自己選擇版本)
就可以看到三個方案檔,就直接選Emgu.CV.Example.sln來執行!!
這樣就可以開始體驗EmguCV所提供影像處理上的一切好處和優勢!!
裡面有相當多的範例程式
對著個別範例的專案建置後通常都能順利執行
比較有趣的像是MotionDetection,FaceDetection,ShapeDetection,VideoSurveillance等
face detection
shape detection
video Surveillance
若是要自訂專案並使用EmguCV的功能必須參考他的dll
到剛剛解壓縮出來的資料夾裡的bin資料夾內
可以看到相當多的dll,以2.3.0的x64版本為例
共有28dll檔案 !!
需要直接參考的有Emgu開頭的六個dll檔案
Emgu.CV.dll、Emgu.CV.GPU.dll、Emgu.CV.ML.dll、Emgu.CV.OCR.dll、Emgu.CV.UI.dll、
Emgu.Util.dll
跟間接會參考到的是opencv開頭的十三個dll檔案
opencv_calib3d231.dll、opencv_contrib231.dll、opencv_core231.dll、opencv_features2d231.dll、opencv_ffmpeg_64.dll、opencv_flann231.dll、opencv_gpu231.dll、opencv_highgui231.dll、opencv_imgproc231.dll、opencv_legacy231.dll、opencv_ml231.dll、opencv_objdetect231.dll、opencv_video231.dll
跟一些EmguCV輔助需要的dll檔案
cudart64_40_17.dll、cufft64_40_17.dll、cvextern.dll、cvextern_gpu.dll、npp64_40_17.dll、tesseract.dll
紅色標記的這三個幾乎是絕對必要的的dll檔案
剩餘的dll就要看你使用到那些功能!!
將這些dll全都複製出來到某個資料夾
(方便做參考存取)
然後到你Visual Studio的專案內把參考加入
到EmguCV的線上Docoment就可以查詢所有dll提供的內容
根據你的需求參考你要的dll檔案 (Emgu.CV開頭的dll檔案)
然後再把其餘的所有dll檔案複製到執行專案的執行目錄底下
通常這樣比較萬無一失
等到熟悉你的需求功能再慢慢把複製到執行目錄下多餘的dll檔案移除
比較不會再一開始執行,就遇到無法順利執行的窘境!!!
當專案完成
要放到其他電腦去執行的時候往往又會遇到問題
因為通常寫程式的電腦裡都有安裝Visual Studio,也會順便安裝C++ Redistributable Package
但一般的電腦(真正要執行專案的電腦)可能沒有安裝
這時候要執行EmguCV(應該說是opencv)就會發生問題
這時候就要去下載來安裝啦~
C++ Redistributable Package (x86),C++ Redistributable Package (x64)
當然如果你是用windows service的模式
就可以在安裝條件中選擇事先安裝這樣檔案
就不用這麼麻煩了!!
這裡開始介紹一些用Emgu CV來實作一些簡單的影像處理
沒有留言:
張貼留言