圖像視頻處理中Win7 32位+VS2010+OpenCV2.3.1的配置過程


  搗鼓了一天,終於把OpenCV的環境配置好了,其間並沒有像OpenCV中文論壇的於老師那樣進行Cmake編譯。記錄一下配置的過程,以備后需。

  操作系統:Windows 7 x86 中文旗艦版;

  編譯環境:Visual Studio 2010 中文旗艦版;

  OpenCV版本:OpenCV-2.3.1-win;
  

一、下載OpenCV2.3.1

  1. 從 http://www.opencv.org.cn/index.php/Download 下載 OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
  2. 將 OpenCV-2.3.1-win-superpack.exe 解壓並放到某個路徑目錄下,例如 D:\OpenCV2.3.1。其目錄結構如下圖所示。

  

 

二、配置環境變量  

  右擊“我的電腦”選“屬性”,點“高級系統屬性”,點“環境變量”,在用戶變量中新建兩個用戶變量,如下。

  PATH  D:\OpenCV2.3.1\build

  OPENCV  D:\OpenCV2.3.1\build\x86\vc10\bin

  如下圖所示。

 

三、配置VS2010

  以前配置VC++6.0、VS2005、VS2008都是在“工具”->“選項”->“項目與解決方案”->“VC++ 目錄”中一次性配置好就可以了。但是到了VS2010后,當你按照前面的這個步驟操作時,會發現有提示“VC++目錄編輯功能已被否決”。上網搜了許久,發現以下方法較好,一次性配置即可。

  選擇“視圖”——“其他窗口”——“屬性管理器”,如下圖所示。

  雙擊Debug | Win32下的“Microsoft.Cpp.Win32.user”,如下圖所示。 

  在彈出的配置框中配置,選擇“VC++目錄”。

  1、在“包含目錄”中的結尾處(若結尾處無英文狀態下的“;”則需自行添加“;”,下同)加入以下內容添加以下內容:

  $(opencv)\include\opencv;$(opencv)\include\opencv2;$(opencv)\include;

  2、在庫目錄中的結尾處加入以下內容添加:

  $(opencv)\x86\vc10\lib;

  注:$(opencv)\include\opencv是告訴VC去“opencv”這個變量中的文件夾下的\include\opencv路徑中找OpenCV的庫文件目錄。

  如下圖所示。

  在“鏈接器”-“輸入”-“附加依賴選項”中的結尾處加入以下內容:

$(opencv)\x86\vc10\lib\opencv_core231d.lib;$(opencv)\x86\vc10\lib\opencv_highgui231d.lib;$(opencv)\x86\vc10\lib\opencv_video231d.lib;$(opencv)\x86\vc10\lib\opencv_ml231d.lib;$(opencv)\x86\vc10\lib\opencv_legacy231d.lib;$(opencv)\x86\vc10\lib\opencv_imgproc231d.lib;

  注:lib可根據實際情況進行刪減。

  如下圖所示。

 

  點擊確定,至此OpenCV的配置完成。

 

四、測試

       在VC下,新建一個“win32控制台程序”的demo,輸入下面的代碼,對以上的配置進行測試。

  

 1 #include "highgui.h"
2 using namespace std;
3 using namespace cv;
4
5 int _tmain(int argc, _TCHAR* argv[])
6 {
7 const char* imagename = "D:/Demo.jpg"; //隨便放一張jpg圖片在D盤或另行設置目錄
8 Mat img = cv::imread(imagename);
9
10 if(img.empty())
11 return -1; //是否加載成功
12
13 if(!img.data)
14 return -1;
15
16 namedWindow("image", CV_WINDOW_AUTOSIZE);
17 imshow("image", img);
18
19 waitKey();
20
21 return 0;
22 }

 

  若配置無誤,則程序會運行成功並打開一幅圖片。

 

五、總結

  以前做圖像視頻處理的時候也做過OpenCV的配置,從OpenCV1.0、2.0到2.1,從XP到Win7,都是大同小異,也正是這些小異,往往會弄得焦頭爛額。所以,工作在於細致,尤其是編程開發,一個小小的變量就可以引發意想不到的問題。詳情請觀影《蝴蝶效應》三部曲。

  今天是3月1日,再次向偉大而平凡的雷鋒同志致敬!

  轉載請注明出處,http://www.cnblogs.com/jamiechu/archive/2012/03/01/2376266.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM