VS2012, opencv2.4.6環境搭建

Marphy11發表於2013-11-11

2.1 環境準備

  1. 安裝 Visual Studio 2012
  2. 下載 opencv 最新版本( 目前是2.4.6, 下載連結 )

2.2 安裝 opencv

2.2.1. 雙擊下載的 OpenCV-2.x.x.exe. 選擇你想解壓到的位置.

image

2.2.2. 設定環境變數.

步驟一, 開啟環境變數設定介面.

方法一:  開始 –> 控制皮膚 –> 系統和安全 –> 系統 –> 高階系統設定 –> 高階 –> 環境變數

方法二: 開始 –> 控制皮膚, 右上角搜尋”環境變數”, 點選”編輯系統環境變數”-> 環境變數

上述操作之後可看到以下介面:

image

 

步驟二, 點選按鈕1( 如上圖所示“新建”),

 

image

變數名填寫”opencv”.

變數值填寫”{opencv}/build/x86/vc11/bin”. ( {opencv} 替換為你自己的opencv安裝目錄" )

關閉上圖”新建使用者變數”視窗

 

步驟三, 在上上圖”環境變數”視窗找到變數”path”( 大小寫不敏感 ). 點選按鈕2( 如上上圖所示”編輯” )

image

更改”變數值”, 在原有的變數值基礎上, 增加”;%opencv%”. 點選確定.

2.3 設定 VS 2012 環境.

2.3.1. 如果現在你的 vs開啟著,請關閉重新開啟vs.
2.3.2. 新建 Project

image

下一步, 注意下面幾個選項.

image

完成 專案建立

2.3.3. 設定專案屬性.

2.3.3.1 步驟一, 新建 Property Sheet.

在VS最左側找到 “Property Manager”( 屬性管理 ) 選項卡, 如下圖所示. ( 如果沒有找到”Property Manager”. 點選選單欄 “VIEW” –> “Property Manager” 即可看見 )

如下圖所示, 在 “Debug|Win32” 上右鍵單擊, 點選”Add New Project Property Sheet”

image

 

填寫以下標註內容.

Name 隨便寫, 只要你能認識

Location 隨便寫, 只要你能找到.

image

點選”Add”完成建立.

2.3.3.2 步驟二, 編輯 Property Sheet 屬性

如下圖所示, 編輯 “opencv244” 的屬性.

image

 

做以下編輯:

image

Include Directories 新增 “{opencv}\build\include”.

Library Directories 新增 “{opencv}\build\x86\vc11\lib”; ( {opencv} 替換為你的opencv安裝路徑 )

圖下圖所示, 點選”Linker –> Input –> Additional Dependencies”.

image 

新增以下內容:

opencv_core246d.lib 
opencv_imgproc246d.lib 
opencv_highgui246d.lib 
opencv_ml246d.lib 
opencv_video246d.lib 
opencv_features2d246d.lib 
opencv_calib3d246d.lib 
opencv_objdetect246d.lib 
opencv_contrib246d.lib 
opencv_legacy246d.lib 
opencv_flann246d.lib

 

上面的”246”換成你下載的opencv版本.比如你的版本是2.4.4, 那麼所有的246換成244即可.

完成設定

2.3.3.4. 設定 Release 屬性

完成”設定專案屬性”之後, 你的debug版本便可正常使用. 如果需要設定 release 版本. 重複上面步驟3.

中間有兩處不同:

1. 在步驟2.3.3.1中, 需要對 “Release |Win32” 新增 Property Sheet.

2. 在步驟2.3.3.2 中 所有Additional Dependencies 項, XXX246d.lib 都去掉 “d". 比如 “opencv_core246d.lib” 變成”opencv_core246.lib”. 全部去掉後變成:

opencv_core246.lib 
opencv_imgproc246.lib 
opencv_highgui246.lib 
opencv_ml246.lib 
opencv_video246.lib 
opencv_features2d246.lib 
opencv_calib3d246.lib 
opencv_objdetect246.lib 
opencv_contrib246.lib 
opencv_legacy246.lib 
opencv_flann246.lib

 

2.3.4 編寫測試程式碼並執行.

2.3.4.1. 新建 main.cpp. 填寫以下程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <opencv2/opencv.hpp> 
  
using namespace cv; 
 
int main() 
   Mat img = imread("../img.png"); 
  
   if (img.empty()) 
   
       fprintf(stderr,"Error: load image failed."); 
       return -1; 
   
   namedWindow("image", CV_WINDOW_AUTOSIZE); 
   imshow("image", img); 
   waitKey(); 
  
   return 0; 

 

2.3.4.2 隨便找張圖片, 放到放到你的工程目錄, 命名為 img.png:

image

 

2.3.4.3 RUN~~

image


Contradulations~



注:不管是32位還是64位系統環境變數都是配X86裡面。