OpenCV2.3.1+VS2005配置方法
OpenCV2.3.1+VS2005
下載OpenCV
?
3? 安裝CMake
從?http://www.cmake.org/cmake/resources/software.html?下載 Windows (Win32 Installer) 安裝。
文件CMake 2.8就位于opencv2.3.1之下
?
4? 編譯OpenCV
??? 1 用CMake導出VC++項目文件
- 運行cmake-gui,設置where is the source code路徑為OpenCV安裝路徑(本文檔假定安裝位置為:c:\OpenCV2.3.1),并創建子目錄c:\OpenCV2.3.1\build\vs2005,并將cmake的"where to build the binaries"設置為這個目錄。
- 然后點 configure,在彈出的對話框內選擇 Visual Studio?8 2005。
- 你可根據你的系統修改選項,修改后再次選擇“Congfigure”,完成后選擇“Generate”。
???? 2編譯 OpenCV Debug和Release版本庫(若有幾個錯誤可以再次操作,就可以了;再次操作仍然有錯誤,可以先忽略)
???? 完成上一步驟后,將在c:\OpenCV2.3.1\opencv\build\vs2005目錄下生成OpenCV.sln的VC Solution File,請用vs2005打開OpenCV.sln,然后執行如下操作:
- 在Debug下,選擇Solution Explorer(解決方案資源管理器)里的 Solution OpenCV(解決方案“OpenCV”),點右鍵,運行"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運行"Build"。
- 在Release下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運行"Build"。
? 全部運行完畢后,針對你的系統的OpenCV庫就生成了。
?
5 配置Vs2005
???1 配置include路徑
也即告訴Vs去什么地方尋找OpenCV的頭文件,打開Vs,選擇菜單“工具”->“選項”->“項目和解決方案”->“VC++目錄”->“包含文件”,包含c:\OpenCV2.3.1\opencv\build\vs2005\install\include;c:\OpenCV2.3.1\opencv\build\vs2005\install\include\opencv;c:\OpenCV2.3.1\opencv\build\vs2005\install\include\opencv2.? 如圖(是VS2005文件夾下的install,前面的是相對路徑,不必完全一樣)
?2配置lib路徑
?? 也即告訴VC去什么地方尋找OpenCV的庫文件。
- 自己編譯的庫,庫目錄為:c:\OpenCV2.3.1\opencv\build\vs2005\install\lib,如圖
?
3設置環境變量(非常重要,出現問題首先檢查這里)
剛才設置的是動態庫,因此還需要將OpenCV的dll文件所在的目錄加入Path環境變量。
自己編譯的庫,dll目錄為:c:\OpenCV2.3.1\opencv\build\vs2005\install\bin
?? 如下圖所示將dll目錄文件路徑加到:系統環境變量Path中。加入后可能需要注銷當前Windows用戶(或重啟)后重新登陸才生效。
環境變量不要太混亂,比如userA配置的同一版本的環境變量,userB也配置了,有可能build無問題,運行時出現“無法啟動此程序,因為計算機中丟失XXX.dll文件的情況”并且提示你重裝,千萬不要重裝。
?
使用OpenCV 2.3.1編程
?? 1 打開vs2005新建一個win32程序,
? 2。輸入以下程序,(需要將lena.jpg文件放在項目目錄下,即與生成的.exe文件同位置)。
[html]?view plain?copy
?print?
1.? //?opencv2.3.1test.cpp?:?定義控制臺應用程序的入口點。??
2.? //??
3.? ??
4.? #include?"stdafx.h"??
5.? ??
6.? #include?<opencv2/opencv.hpp>???
7.? ??
8.? using?namespace?std;??
9.? ??
10. using?namespace?cv;???
11. ??
12. ??
13. int?_tmain(int?argc,?_TCHAR*?argv[])??
14. {??
15. ????char*?imagename?=?"k2.jpg";//從文件中讀入圖像??
16. ??
17. ????IplImage*?img?=?cvLoadImage(?"k2.jpg",1?);??
18. ??
19. ????if(!img)//如果讀入圖像失敗??
20. ??
21. ????{??
22. ??
23. ????????fprintf(stderr,"Can?not?load?image?%s\n",?imagename);??
24. ??
25. ????????return?-1;??
26. ??
27. ????}???
28. ??
29. ????cvShowImage("image",?img);??
30. ??
31. ????waitKey();??
32. ??
33. ????return?0;??
34. ??????
35. }??
3為項目配置增加[附加依賴項 AdditionalDependencies]:
Project-propertes-linker-input在[鏈接器 LINKER]的[輸入INPUT]中,
為項目的Debug配置增加?[附加依賴項 AdditionalDependencies]:
opencv_calib3d231d.lib
opencv_contrib231d.lib
opencv_core231d.lib
opencv_features2d231d.lib
opencv_flann231d.lib
opencv_gpu231d.lib
opencv_highgui231d.lib
opencv_imgproc231d.lib
opencv_legacy231d.lib
opencv_ml231d.lib
opencv_objdetect231d.lib
opencv_ts231d.lib
opencv_video231d.lib
(若無此操作,將會在debug下報錯:
errorLNK2001: unresolved external symbol _cvCreateFileCapture
errorLNK2001: unresolved external symbol _cvWaitKey
errorLNK2001: unresolved external symbol _cvGetSize
errorLNK2001: unresolved external symbol _cvReleaseCapture
errorLNK2001: unresolved external symbol _cvCalibrateCamera2
errorLNK2001: unresolved external symbol _cvDrawChessboardCorners
errorLNK2001: unresolved external symbol _cvQueryFrame
errorLNK2001: unresolved external symbol _cvReleaseMat
errorLNK2001: unresolved external symbol _cvSave
……)
?
?
?(可根據實際需要刪減)
注意,請打開了新編輯窗口(即點擊了“...”按鈕)“附加依賴項”,并一條一條分別加入,一條一行(一個回車),(注意行末不要加";")否則會出現類似以下錯誤:1>LINK : fatalerror LNK1104: 無法打開文件“…….lib”???
如果下載的OpenCV不是2.3.1版本,請將"XXX231d.lib"中的"231"更改為對應的版本號,
例如:下載OpenCV 2.4.0,則統一改為"XXX240d.lib",否則會出現類似以下錯誤:1>LINK : fatal errorLNK1104: 無法打開文件“XXX.lib”
?
為項目的Release配置增加[附加依賴項 Additional Dependencies]:
?
?
opencv_calib3d231.lib
opencv_contrib231.lib
opencv_core231.lib
opencv_features2d231.lib
opencv_flann231.lib
opencv_gpu231.lib
opencv_highgui231.lib
opencv_imgproc231.lib
opencv_legacy231.lib
opencv_ml231.lib
opencv_objdetect231.lib
opencv_ts231.lib
opencv_video231.lib
(若無此操作,將會在relesae下報錯:
errorLNK2001: unresolved external symbol _cvCreateFileCapture
errorLNK2001: unresolved external symbol _cvWaitKey
errorLNK2001: unresolved external symbol _cvGetSize
errorLNK2001: unresolved external symbol _cvReleaseCapture
errorLNK2001: unresolved external symbol _cvCalibrateCamera2
errorLNK2001: unresolved external symbol _cvDrawChessboardCorners
errorLNK2001: unresolved external symbol _cvQueryFrame
errorLNK2001: unresolved external symbol _cvReleaseMat
errorLNK2001: unresolved external symbol _cvSave
……)
?
?(可根據實際需要刪減)*?
?如圖:為bebug加入依賴項
??
參考資料http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
?
?
?
上述所有過程完成,若還有問題,如“應用程序無法正常啟動(0xc0150002)”,則新建環境變量TBB:
變量名:TBB
變量值:C:\opencv2.3.1\opencv\build\common\tbb\ia32\vc8
?
?
?
?
主程序應當包含的頭文件:
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <string>
#include <iostream>
using namespace std;
總結
以上是生活随笔為你收集整理的OpenCV2.3.1+VS2005配置方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目前国内最热门的四款远程桌面控制软件
- 下一篇: sql server 数字转大写