(轉載)VS2013+OpenCV4.1.2環境搭建
VS版本 與 VC版本 的對應關係
Visual Studio 6 : vc6
Visual Studio 2003 : vc7
Visual Studio 2005 : vc8
Visual Studio 2008 : vc9
Visual Studio 2010 : vc10
Visual Studio 2012 : vc11
Visual Studio 2013 : vc12
Visual Studio 2015 : vc14
Visual Studio 2017 : vc15
opencv 對 VC版本 的支援情況
opencv 2.4.10 == vc10、vc11、vc12
opencv 2.4.13 == vc11、vc12
opencv 3.4.0 == vc14、vc15
opencv 3.4.1 == vc14、vc15
VS2013安裝OpenCV4.1版本環境搭建
步驟:
- 1、下載及安裝OpenCV;
- 2、配置環境變數;
- 3、利用VS2013新建一個OpenCV的C++程式;
1、下載並安裝OpenCV
開啟OpenCV的官網https://opencv.org/releases.html開啟連結選擇對一個的版本進行下載我下的是最新的版本4.1的大小215M,瀏覽器比較慢,放在迅雷下載的!
下載完成後如上圖所示可以雙擊上面的exe進行安裝,我是安裝在D盤
我發現新版本安裝完成的資料夾列表和老版本的不一樣,有些檔案進行了重整不過不影響;有一點需要注意,最近幾個版本都沒有x86的32位的檔案只有64位的,所以在新建C++工程的時候需要修改編譯環境;
2、配置環境變數
新增環境變數進行預設路徑設定,將下面圖片中的x64資料夾中的vc14和vc15資料夾中bin檔案路徑配置到環境變數的Path中;
點選桌面的計算機右鍵屬性然後進行按照下面的步驟進行操作
點選編輯,我將我的D:\Software\OpenCV\OpenCV4.1\opencv\build\x64\vc14\bin和D:\Software\OpenCV\OpenCV4.1\opencv\build\x64\vc15\bin兩個路徑新增到Path中
3、利用VS2013新建一個OpenCV的C++程式
確定點選下一步再下一步選 空專案
安裝完成後新增一個原始檔
由於我們安裝的OpenCV沒有x86的檔案,所以將程式的編譯環境改成x64的(看下面的步驟)
接下來配置屬性,利用這種"配置屬性管理器"配置以後每次新建程式時都不需要配置比較省事
選擇進入屬性介面,編輯VC++目錄中庫目錄和包含目錄(注意:可能有的人點開Debug|x64沒有Microsoft.Cpp.x64.user,那就新增新增現有屬性表,我的檔案路徑是在C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props,如果找不到的話就點選上一節點的Microsoft.Cpp.Win32.user檢視屬性,看在你電腦的什麼位置,其實x86和x64的uesr都在一個資料夾下)
庫目錄進行編輯並新增的路徑
包含目錄新增的是
新增時注意自己的路徑
最後一步配置連結庫
剛剛添加了vc14,vc15的兩個lib,這一步就是要進這兩個資料夾下面的lib裡面,把庫函式名字找出來(你會發現兩個lib的庫函式名字一樣)
測試
1 #include<iostream> 2 #include<opencv2\core.hpp> 3 #include<opencv2\highgui.hpp> 4 #include<opencv2\imgproc.hpp> 5 #include <opencv2\imgcodecs.hpp> 6 7 using namespace cv; 8 using namespace std; 9 //顯示影象 10 int main(int argc, char** argv) 11 { 12 //視窗名稱 13 string windowName = "HelloWorld"; 14 //影象名稱 15 string imgFile = "F:/Opencv/test/OpenCV.jpg"; 16 //讀入影象 17 Mat image = cv::imread(imgFile, IMREAD_COLOR); 18 if (!image.data) 19 { 20 cout << "無法開啟影象檔案" << std::endl; 21 return -1; 22 } 23 //建立一個新視窗 24 namedWindow(windowName, WINDOW_AUTOSIZE); 25 //將影象顯示都新建立的視窗中 26 imshow(windowName, image); 27 //等待,直到使用者按任意鍵時退出 28 waitKey(0); 29 return 0; 30 }