close

 

開始來研究有關於EmguCV的東西,

主要是希望能在短時間內來玩玩看影像辨識相關的,

所以就來Study這玩意了。

 

會選擇使用EmguCV的原因,是因為這個是OpenCV的C#版本,

那為什麼不用OpenCV直接寫呢 ? 

沒什麼- _ -... 就是單純想練練C#,

這玩意真的久了沒寫,生疏啊 !!!!!!!!!! 

 

好的,讓我們開始吧,

建置這玩意的環境,其實沒有我想像中的那麼容易,

主要就是因為EmguCV和OpenCV是有關連性的,

所以,如果你這兩個版本對不上的話,那很抱歉,你會像我一樣,光找問題就以小時起跳。

 

 

Step1. 

讓我們進入主題吧,

首先,我們先前往官方網站

https://sourceforge.net/projects/emgucv/files/latest/download

這是一個下載頁面,然後你下載完後,網頁往下拉,在下載OpenCV的

然後,你會有這兩個安裝檔,

筆者建議,你可以將路徑設在C槽下,

這樣第一步驟就完成了。

 

Step2. 

接下來我們來設置環境路徑,

我的電腦→右鍵→內容→

進階系統設定→環境變數→

Path→加入→

C:\opencv\build\bin;C:\Emgu\emgucv-windesktop 3.4.3.3016\bin\;

 

確定後,咱們可以進入CMD (命令提示字元),敲入path,來去看看自己設的有沒有在Path裡面,

如果都有,那麼恭喜你,第二步達成。

 

 

 

Step3. 

接下來,第三步,這可說是關鍵中的關鍵,

打開你的Visual Studio,創一個 Visual C# →Console Application,

名稱可以取 : EmguCV_HelloWorld 

打開後,我們要加入Reference,

右鍵→AddReference→去你的Emgu的目錄

應該是會在 C:\Emgu\emgucv-windesktop 3.4.3.3016\bin\ 

勇敢的加進你的Project裡面,然後 ! 還沒結束,

Project→Properties→Reference Paths :

C:\Emgu\emgucv-windesktop 3.4.3.3016\bin\

C:\opencv\build\bin\

C:\opencv\build\include\opencv2\

然後,將官網的Code貼到你的裡面 



        static void Main(string[] args)
        {
            String win1 = "Test Window"; //The name of the window
            CvInvoke.NamedWindow(win1); //Create the window using the specific name

            Mat img = new Mat(200, 400, DepthType.Cv8U, 3); //Create a 3 channel image of 400x200
            img.SetTo(new Bgr(255, 0, 0).MCvScalar); // set it to Blue color

            //Draw "Hello, world." on the image using the specific font
            CvInvoke.PutText(
               img,
               "Hello, world",
               new System.Drawing.Point(10, 80),
               FontFace.HersheyComplex,
               1.0,
               new Bgr(0, 255, 0).MCvScalar);


            CvInvoke.Imshow(win1, img); //Show the image
            CvInvoke.WaitKey(0);  //Wait for the key pressing event
            CvInvoke.DestroyWindow(win1); //Destroy the window if key is pressed
        }



 

然後 ! 這時候你會發現你的System.Drawing.Point被提示不行,

所以你要手動加→Add Reference→ Assemblies→找到System.Drawing

然後給他加進去 ! 

然後,走起!!!!  按下Debug,如果你發現跟我一樣的錯誤

代表說你沒有把這個dll放近來,

所以你得去找到這個DLL,將它放到你的執行目路下面去,

然後 , 在按下 Debug !!!! 

 

 

 

這幾個步驟,看似很簡單,實際上真的讓我搞了快半天,

從下午開始休息一直搞到現在5:21分 ..............,

尼馬....,真的很另人崩潰。

 

 

 

好了,教學結束,

如果各位看官有遇到其他我沒講到的問題,

也可以在底下留言讓我知道,

基本上.....個人認為,在環境架構這塊,

我已經把所有可以遇到的問題都遇到一次了.......................................

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Eric 的頭像
    Eric

    一個小小工程師的心情抒發天地

    Eric 發表在 痞客邦 留言(3) 人氣()