1. 程式人生 > >OpenCV3.2.0+VS2017環境配置與常見問題(鉅細坑爹版)

OpenCV3.2.0+VS2017環境配置與常見問題(鉅細坑爹版)

題外話:首先,配環境一定要有耐心。。。

本部落格是本小白第一次裝OpenCV成功後第一時間整理髮布。用的是剛下載好的OpenCV3.2.0版,用x64編譯器Debug執行(當然Release差不多),未經過cmake編譯處理。希望能夠把問題講的詳盡。

如果你覺得你的安裝沒問題,可以直接跳過安裝環節,直接看看常見問題集錦。

安裝

1,下載
參考連結點選下載(如圖),我用的是windows,於是選擇opencv-win,這裡我演示3.2.0版本。

下載

2,開始安裝
執行exe檔案(如圖)
這裡填一下你的安裝路徑,我直接裝在c盤,安裝時會自動把全部檔案放在一個opencv的資料夾下,因此不必新建一個新的資料夾(我直接放在c盤了)。

安裝

配置環境變數

有兩種方式,
1,配置環境變數PATH
2,將C:\opencv\build\x64\vc14\lib\目錄下的檔案拷貝至c:\Windows\System32 和 c:\Windows\SysWOW64 資料夾下

3,配置vs
建立一個普通的win32控制檯應用程式。
開啟側邊的屬性管理器(我喜歡把它放在右上角),沒有的話點【檢視】->【其他視窗】->【屬性管理器】

配置vs

新增屬性表
在屬性管理器【Debug|x64】右鍵 ->【新增新專案屬性表】(如圖)
坑點一:
本教程是在【Debug|x64】上新增!!!!!網上有些教程,介紹的是OpenCV3.0以下版本,直接用的是x86編譯器,所以直接在【Debug|Win32】下建立!!!!!!!

之後新增一個屬性表
(名稱無特殊要求,為了方便我叫它“OpenCV_Debug”,表示在Debug上的屬性表)。

新增屬性表1

完成後:
新增屬性表2

雙擊建立好的屬性表
配置三個東東:
(1)【VC++目錄】 -> 【包含目錄】-> 【編輯】-> 新增三個路徑

分別是
C:\opencv\build\include
C:\opencv\build\include\opencv
C:\opencv\build\include\opencv2

1.1

(2)【VC++目錄】 -> 【庫目錄】-> 【編輯】-> 新增一個路徑

C:\opencv\build\x64\vc14\lib

2.1

(3)【連結器】->【輸入】->【附加依賴項】->【編輯】-> 新增一個檔名

opencv_world320d.lib
坑點二:
新增時是”320d”,表示3.2.0版本,用Debug編譯,檔案可以在C:\opencv\build\x64\vc14\lib 中找到

3.1

ps:配置到一半,輸入樣例程式,先用Debug + x64編譯看看

為了檢視我的編譯方式,我打開了解決方案配置、平臺,如圖
ps1

我在mian.cpp中輸入樣例

//開啟攝像頭樣例
#include <opencv2/highgui/highgui.hpp>  
#include <opencv2/imgproc/imgproc.hpp>  
#include <opencv2/core/core.hpp>  
using namespace cv;

int main()
{
VideoCapture cap(0);
Mat frame;
while (1)
{
cap >> frame;
imshow("呼叫攝像頭", frame);
waitKey(30);
}
return 0;
}

這時可能會出現一個問題(如圖)
hh

為了解決這個問題,我們進行以下操作【解決方案資源管理器】->【”你的專案”】右鍵 ->【屬性】->【連結器】-> 【高階】->【目標計算機】-> 選擇x64的那個

x641

並開啟右上角配置管理器,把【活動解決方案配置】變為Debug,【活動解決方案平臺】變為x64,把專案配置為Debug,平臺為x64,(沒有的話可能要自己建立一個,前題是你的vs上支援x64)。

x642

基本可以了,不放心的話,按網上的說法,可以開啟【”你的解決方案”】右鍵的屬性和專案的屬性是否一樣。(如圖)
還可以右鍵解決方案,點【清理解決方案】,與【重新生成解決方案】

x643

3,vs配置結束,我們把剛剛的樣例輸入,不出意外可以執行。

ps:你如果偏向Release除錯,可以把所有有關Debug的操作,變成Release的
包括建立屬性表,設定Release編譯模式。。。

常見問題

1,花式錯誤,哈哈哈,估計是沒有按步驟來,建議重新配置。
這裡寫圖片描述

2,可能是包含目錄寫錯,還可能是把屬性表寫在win32那。
這裡寫圖片描述