1.配置opencv_contrib,Why?
opencv只包含基本內容,若需要用到surf特徵提取等內容,因爲版權問題必須安裝opencv_contrib。
2.需要準備的安裝包
vs2017:https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
opencv:https://opencv.org/releases/
這裏用到的是opencv3.4.3版本,可以選擇自己喜歡的版本;
cmake:https://cmake.org/download/
cmake有很多版本,一般建議選擇下載綠色版或安裝版;
opencv_contrib:https://github.com/opencv/opencv_contrib/releases
請一定選擇和opencv一樣的版本號(點擊發行版可以找到對應版本下載),不然可能會出錯。
3.安裝vs2017,opencv、cmake
1)安裝vs2017
a.點擊安裝程序Visual Studio Installer進行安裝,等待下載完畢後進入安裝包選擇界面:
b.選擇安裝位置(爲了節省C盤存儲空間):
儘管選擇了安裝位置,但可能會有些SDK仍然裝在C盤,對該SDK的文件構造軟鏈接,防止裝在C盤,這裏在G盤新建一個Shared文件夾: G:\Program Files (x86)\Microsoft Visual Studio\Shared,接着在cmd命令行輸入:mklink /D "C:\Program Files (x86)\Microsoft Visual Studio\Shared" "G:\Program Files (x86)\Microsoft Visual Studio\Shared":
可以看到在C盤的Shared文件夾上有個小箭頭,說明鏈接成功。
2)安裝opencv3.4.3
解壓下載好的壓縮文件到指定文件夾:G:\Program Files (x86)\MyOpenCV。
3)安裝cmake
解壓cmake-3.13.4-win64-x64.zip到文件夾:G:\Program Files (x86)\MyOpenCV,接着添加環境變量(右鍵“此電腦”--“屬性”-“高級系統設置”-“環境變量”-在“系統變量”下選擇“path”進入“編輯”-加入路徑:G:\Program Files (x86)\MyOpenCV\cmake-3.13.4-win64-x64\bin)
命令行(cmd)輸入:cmake --version可查看版本號即可。
4)安裝opencv_contrib
解壓opencv_contrib-3.4.3.zip到G:\Program Files (x86)\MyOpenCV。
4.配置opencv_contrib
1)打開cmake,選擇路徑如圖:
2)點擊configure,第一次使用會彈出對話框,選擇對應的vs版本即可:vs2017 Win64,之後點確認,程序開始運行,運行完成後會在最下方顯示configuration done;
3)在cmake搜索框中搜索OPENCV_EXTRA_MODULES_PATH,將value值選擇爲opencv_contrib文件夾中的modules文件夾:G:/Program Files (x86)/MyOpenCV/opencv_contrib-3.4.3/modules;搜索WITH_CUDA,確保未勾選;最後再一次點擊configure,成功之後依然會在最下邊顯示configuration done;
4)點擊generate,這一次很快。然後直接在cmake面板點擊open project打開項目。至此Cmake中的操作全部完成,可以關掉它了。
5)接着都是在VS2017中完成,首先選擇x64 Debug,在菜單欄選擇生成->生成解決方案(分別等待十幾分鍾),會提示生成的情況,可能會有生成失敗的項目,不管,接着右鍵CMakeTargets中的INSTAKLL,選擇僅限於項目->僅生成INSTALL;接着同樣步驟選擇x64 Release進行。
這裏對x64 Release進行操作時,報錯,提示opencv_contrib缺少boostdesc_bgm.i等文件,解決方法如下:
a.將boostdesc_bgm.i,vgg_generated_48.i等.zip裏的文件解壓到:opencv_contrib/modules/xfeatures2d/src/,在生成一次試試,繼續報錯:無法打開包括文件: “opencv2/xfeatures2d/cuda.hpp”;
b.雙擊錯誤到報錯的地方,將:#include "opencv2/xfeatures2d/cuda.hpp",改爲:
G:\Program Files (x86)\MyOpenCV\opencv_contrib-3.4.3\modules\xfeatures2d\include\opencv2/xfeatures2d/cuda.hpp
6)最後系統環境配置:
a.新建用戶變量:
變量名:OPENCV
變量值:G:\Program Files (x86)\MyOpenCV\opencv\new_build\install
b.系統環境變量,Path中添加:G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\x64\vc15\bin
5.配置VS2017項目環境
1)打開VS2017,工具欄“視圖”-“其他窗口”-“屬性管理器”-項目-Debug|x64-雙擊打開Microsoft.Cpp.x64.user:
“VC++目錄”-“包含目錄”-“箭頭”-“編輯”-添加如下目錄:
G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\include
G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\include\opencv
G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\include\opencv2
“庫目錄”-“箭頭”-“編輯”-添加如下目錄:
G:\Program Files (x86)\MyOpenCV\opencv\new_build\install\x64\vc15\lib
“鏈接器”-“輸入”-“添加依賴項”-添加*\new_build\install\x64\vc15\lib中所有xxxd.lib文件名;
2)同理,針對Release|x64-雙擊打開Microsoft.Cpp.x64.user,附加依賴項中添加所有xxx.lib文件名;
3)複製有關動態庫至系統目錄下,將如下文件複製至 C:\Windows\System32 和 C:\Windows\SysWOW64 目錄下;
注:
A.第二部實施完畢後,可能導致debug模式運行錯誤,則繼續修改”附加依賴項“爲全部xxxd.lib,來回修改方可成功(另外是否繼承父類也可以修改);例,嘗試修改x64的附加依賴關係還是出現x64 debug提示缺少xxx.lib而不是xxxd.lib則,右鍵項目-屬性-添加依賴關係爲xxxd.lib等;
B.若運行圖像測試項目報錯:無法打開“opencv_hdf343d.lib“,而通過修改檢查”附加依賴項“中無該項,去掉勾選”繼承父類“均解決不了,無法定位原因,這裏先複製一個lib文件改爲其名。
6.相關文件
所有文件均存在百度網盤中(其中包括提取文件名的項目可用):
鏈接:https://pan.baidu.com/s/1RON7ksLEhRzWVnNUIMoFJg
提取碼:cryy
參考文章:
https://blog.csdn.net/weixin_42012977/article/details/82992962
https://blog.csdn.net/m0_37407756/article/details/79790417