如何使基於OpenCV庫的臉部偵測系統在其它機器上運行

來源:互聯網
上載者:User

      這個問題糾結了很久,其實是個很簡單的問題,但是在連結OpenCV靜態庫的時候出現了一點小錯誤,所以一直沒有成功在其它機器上正常運行。現在解決了,所以記錄下來,讓一些剛入門的兄弟能夠不重蹈覆轍。為了講述方便,先介紹一下運行環境:OpenCV2.0+vs2005,OpenCV2.0的安裝路徑為c:\opencv2.0。

      成功編譯運行基於OpenCV庫的應用程式所需要的vs2005設定:

一、引用靜態連結庫

有兩種方法:

     1.在vs2005的"項目"-"(項目名)屬性"-"配置屬性"-"連結器"-"輸入"-"附加依賴庫"中根據release(或debug)配置屬性添加相應的靜態連結庫,release狀態就添加cv200.lib,cxcore200.lib,highgui200.lib,debug狀態就添加cv200d.lib,cxcore200d.lib,highgui200d.lib。

     2.不用再附加依賴庫中添加靜態庫,只需要在代碼檔案中(如:stdafx.h)中添加

 //剛開始設定成了#ifdef DEBUG_NEW,所以就一直沒有成功在其它機器上運行。比如產生release版本的時候在其他機子運行總是提示缺少debug版本的動態連結程式庫(如cv200d.dll等),但是放入debug版本的動態連結程式庫也是無法運行,估計是系統混亂了。<br />#ifdef _DEBUG<br />#pragma comment(lib,"cxcore200d.lib")<br />#pragma comment(lib,"cv200d.lib")<br />#pragma comment(lib,"highgui200d.lib")<br />#else<br />#pragma comment(lib,"cxcore200.lib")<br />#pragma comment(lib,"cv200.lib")<br />#pragma comment(lib,"highgui200.lib")<br />#endif

二、設定動態連結程式庫的引用路徑

      在我的電腦上,動態連結程式庫或者靜態連結庫只需引用其中一個就行,所以這個引用路徑不需配置也可以。不過也有人不設定這個路徑就會無法正確配置並運行應用程式,所以最好在ide中設定好動態連結程式庫的引用路徑。也有兩種方法:

      1.在"工具"-"選項"-"項目和解決方案"-"VC++目錄"中在右上方的"顯示一下內容的目錄"組合框中選擇"可執行檔",在這裡依次添加兩行,並選擇OpenCV2.0的動態連結程式庫的位置如:c:\opencv2.0\bin\release和c:\opencv2.0\bin\debug

      2.在電腦的系統內容變數中的"Path"這個變數添加OpenCV2.0的動態連結程式庫的位置,如:c:\opencv2.0\bin\release;c:\opencv2.0\bin\debug

三、設定OpenCV庫標頭檔的包含路徑

      在"工具"-"選項"-"項目和解決方案"-"VC++目錄"中在右上方的"顯示一下內容的目錄"組合框中選擇"包含檔案",在這裡依次添加兩行,並選擇OpenCV2.0的標頭檔的位置如:c:\opencv2.0\include\opencv

      到此就可以成功編譯和運行基於OpenCV的應用程式了。

      要想在其它機子上運行自己的臉部偵測系統,得把haarcascade_frontalface_alt.xml放到應用程式的所在目錄,並且在代碼中修改載入分類器的路徑,可以用GetModuleFileName方法獲得路徑,然後重新編譯一遍代碼,再把動態連結程式庫的檔案cv200.dll,cxcore200.dll,highgui200.dll拷貝到應用程式的目錄下面,如果對方機子沒有裝Visual c++ 2005 redistribute,則必須為對方安裝Visual c++ 2005 分發包或者將MFC動態庫(C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86路徑下的Microsoft.VC80.MFC和Microsoft.VC80.CRT目錄中的動態連結程式庫)全部拷貝到應用程式所在目錄。至此把這些檔案所在的檔案夾拷到對方機子上就能夠正常運行了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.