經過了幾個小時的努力,最終成功地在Visual Studio 2012中配置好了openCV,為了分享經驗以及便於日後的查閱,記錄了配置的過程和一些細節。
首先指出我配置的環境是: Windows_8, Visual_Studio_2012
openCV的版本是: openCV_2.47
下面開始詳細地講解整個配置的過程:
步驟1: 首先需要下載openCV,這是Sourceforge的鏈接 http://sourceforge.net/projects/opencvlibrary/
步驟2: 安裝openCV到自定義目錄下,安裝的過程中系統會自動設置openCV的環境變量。
步驟3: 安裝完畢後需要手工設置一下環境變量,把D:\CodeLibrary\opencv\build\x64\vc11\bin添加到系統變量-->Path中,其中D:\CodeLibrary\opencv是openCV的安裝目錄,這裡根據自己的目錄進行修改。另外,如果是32位的操作系統就把x64改成x86。
步驟4: 打開Visual Studio 2012創建一個Visual C++的一個新的空項目。
步驟5: 右鍵點擊 [解決方案資源管理器] 中的解決方案結點,選擇 [配置管理器]。
步驟6: 在 [活動解決方案平台(P)] 中選擇x64(因為我用的是64位的操作系統),假如沒有x64可選則選擇<新建 ...>,在 [鍵入或選擇新平台(P)] 中選擇x64然後點 [確定],然後關閉 [配置管理器]
步驟7:右鍵點擊新建的項目,選擇 [屬性],打開屬性窗口,然後在 [配置屬性] 中選擇 [VC++目錄],編輯右邊的 [包含目錄],把D:\CodeLibrary\opencv\build\include,D:\CodeLibrary\opencv\build\include\opencv,D:\CodeLibrary\opencv\build\include\opencv2 這三個目錄添加進去。這樣用include添加openCV的頭文件的時候才不會出錯找不到文件。
步驟8:編輯右邊的 [庫目錄],把openCV庫函數的路徑D:\CodeLibrary\opencv\build\x64\vc11\lib添加進去(注意到Visual Studio 2012需要使用vc11這個目錄,而不再是vc10,而且對應是64位的操作系統所以選擇x64這個目錄)。讓Visual Studio在編譯程序的時候,能夠搜索到這個目錄以調用openCV的函數 。
步驟9:選擇左邊的 [鏈接器],再選擇 [輸入],修改右邊的 [附加依賴項] 把D:\CodeLibrary\opencv\build\x64\vc11\lib目錄下的所有以*.lib為擴展名的文件名添加進去,以添加lib文件(步驟8是添加庫函數的搜索目錄,這一步是添加具體的lib文件。)在這裡以d結尾的文件對應debug模式,而不是以d結尾的文件對應release模式,為了方便起見,我把它們全部加進去了。
步驟10:現在已經完成了openCV的配置,運行一下一個簡單的讀圖像的程序作為測試,可以看到圖像能成功顯示,按任意鍵可結束程序。
附上用於測試的代碼:
#include<stdio.h>
#include"highgui.h"
int main(int argc, char** argv){
IplImage *img = cvLoadImage("E:\\2.jpg"); //cvLoadImage()的參數為圖片的完整路徑名
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
return 0;
}