一. 環境準備
- 下載下傳并安裝 Visual Studio 2012
- 下載下傳并安裝 opencv 最新版本(本人用的是2.4.9 )
二. 設定環境變量
打開環境變量設定界面.
方法一: 開始 –> 控制台 –> 系統和安全 –> 系統 –> 進階系統設定 –> 進階 –> 環境變量
方法二: 右擊我的電腦-->屬性-->進階系統設定--> 進階 –> 環境變量
上述操作之後可看到以下界面:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX6VFVPpXVtRGbsdkYsp0VhZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TN3gDNyUTM4EzNxUDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
在上上圖”環境變量”視窗找到變量”path”. 點選”編輯” 按鈕 或 輕按兩下“path“
更改”變量值”, 在原有的變量值基礎上, 增加” ;%opencv%\build\x86\vc11\lib”. 點選确定 // %opencv%為你安裝opencv的絕對路徑
例如我的 %opencv%路徑為:F:\software\opencv.2.4.9\opencv
注意:1. 分号不要丢掉
2.
之前在vs2012下編譯一個opencv程式時,一直出現msvcp120d.dll檔案丢失的提示資訊,問題産生的主要原因是vs2012編譯了一個用vs2013生成的dll,是在選擇第三方庫時選擇vc版本時出現的問題,一定要多加注意。
- vc8 = Visual Studio 2005
- vc9 = Visual Studio 2008
- vc10 = Visual Studio 2010
- vc11 = Visual Studio 2012
- vc12 = Visual Studio 2013
- MSVCP80.DLL is from Visual Studio 2005
- MSVCP90.DLL is from Visual Studio 2008
- MSVCP100.DLL is from Visual Studio 2010
- MSVCP110.DLL is from Visual Studio 2012
- MSVCP120.DLL is from Visual Studio 2013
環境變量 ” ;%opencv%\build\x86\vc11\lib”
是以這裡寫的是vc11,而不是vc12(x86檔案夾下有三個檔案夾,vc10,vc11,vc12,切
勿以為是vs2012就選vc12,至于為什麼,上面都寫清楚了!)
三. 設定 VS 2012 環境
(注意: 如果現在你的 vs打開着,請關閉重新打開vs.)
1. 建立 Project
下一步, 注意下面幾個選項.
完成 項目建立
2. 設定項目屬性.
1) 建立 Property Sheet.
在VS最左側找到 “Property Manager”( 屬性管理 ) 頁籤, 如下圖所示. ( 如果沒有找到”Property Manager”. 點選菜單欄 “VIEW” –> “Property Manager” 即可看見 )
如下圖所示, 在 “Debug|Win32” 上右鍵單擊, 點選”Add New Project Property Sheet”
路徑預設就行,點選”Add(添加)”完成建立.
2) 編輯 Property Sheet 屬性
如下圖所示, 編輯 “opencv249” 的屬性.
做以下編輯:
Include Directories(包含目錄) 添加 “%opencv%\build\include”.
Library Directories(庫目錄) 添加 “%opencv%\build\x86\vc11\lib”; (%opencv的含義同上)
圖下圖所示, 點選”Linker (連接配接器)–> Input(輸入) –> Additional Dependencies(附加依賴項)”.
添加以下内容:
opencv_core249d.lib
opencv_imgproc249d.lib
opencv_highgui249d.lib
opencv_ml249d.lib
opencv_video249d.lib
opencv_features2d249d.lib
opencv_calib3d249d.lib
opencv_objdetect249d.lib
opencv_contrib249d.lib
opencv_legacy249d.lib
opencv_flann249d.lib
上面的”249”換成你下載下傳的opencv版本.比如你的版本是2.4.4, 那麼所有的249換成244即可.
完成設定
3) 設定 Release 屬性
完成”設定項目屬性”之後, 你的debug版本便可正常使用. 如果需要設定 release 版本. 重複上面步驟 三.2.
中間有兩處不同:
1. 在步驟三.2.1).中, 需要對 “Release |Win32” 添加 Property Sheet.
2. 在步驟三.2.2). 中 所有Additional Dependencies 項, XXX249d.lib 都去掉 “d". 比如 “opencv_core249d.lib” 變成”opencv_core249.lib”. 全部去掉後變成:
opencv_core249.lib
opencv_imgproc249.lib
opencv_highgui249.lib
opencv_ml249.lib
opencv_video249.lib
opencv_features2d249.lib
opencv_calib3d249.lib
opencv_objdetect249.lib
opencv_contrib249.lib
opencv_legacy249.lib
opencv_flann249.lib
3. 編寫測試代碼并運作.
建立 main.cpp. 填寫以下代碼
#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat
img = imread("../img.jpg");
if (img.empty())
{
fprintf(stderr,"Error:load image failed.");
return -1;
}
namedWindow("image",
CV_WINDOW_AUTOSIZE);
imshow("image",
img);
waitKey();
return 0;
}
随便找張圖檔, 放到放到你的工程目錄, 命名為 img.jpg,當然可以根據自己的需要更換它。
編譯運作,結果如下:
Contradulations~~
注:不管是32位還是64位系統環境變量都是配X86裡面。