win10+vs2017+opencv3.4.3+cmake配置opencv_contrib3.4.3

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章