? ? ? 鑒于opencv已經(jīng)更新到了4.10,本次配置目標(biāo)庫(kù)即為opencv 4.1.0及其拓展庫(kù)contrib檐束,利用cmake進(jìn)行編譯,直接開始:
1.下載opencv4.1.0+contrib
opencv4.1.0 下載地址:https://github.com/opencv/opencv/releases
拓展庫(kù)下載地址:https://github.com/opencv/opencv_contrib/releases
如上圖束倍,選擇版本4.10被丧,點(diǎn)擊源代碼進(jìn)行下載,同時(shí)下載.doc文檔的壓縮包(查閱opencv4.10相關(guān)函數(shù)說明使用)绪妹。(另外這個(gè)里面有一個(gè)vc15的exe文件甥桂,是一個(gè)已經(jīng)編譯好的opencv試用與vs2017的庫(kù),由于本次需要同時(shí)編譯拓展庫(kù)邮旷,所以占不考慮它了黄选。)拓展庫(kù)類似選擇opencv4.10版本,即兩個(gè)庫(kù)版本要一致。下載之后解壓縮放置在一個(gè)文件夾下:
2.下載安裝vs2019办陷,qt以及cmake
cmake下載地址:https://cmake.org/download/
qt:https://www.qt.io
vs2019:https://visualstudio.microsoft.com/zh-hans/
其中vs2019下載社區(qū)版貌夕,即community版,cmake下載3.14.4版本進(jìn)行適配民镜。這兩個(gè)不需要注冊(cè)啡专,直接下載即可,其中qt需要注冊(cè)之后才能下載制圈,注冊(cè)后點(diǎn)擊主頁(yè)面下載同樣選擇社區(qū)版下載们童,即開源版本。專業(yè)版需要rmb鲸鹦。
a. cmake安裝流程:打開安裝包之后按照默認(rèn)配置接受license?aggrement之后進(jìn)入install?options?選擇加入path?for?all?users慧库,即:
之后一直按照默認(rèn)的next即可。勾選第二項(xiàng)的原因是安裝之后不需要自己進(jìn)行手動(dòng)配置系統(tǒng)環(huán)境亥鬓。
b.vs2019安裝流程:按照默認(rèn)選擇使用c++桌面開發(fā)即可完沪,如果有需要安裝其他插件和組件請(qǐng)自行判斷安裝。
c.qt安裝流程:點(diǎn)擊安裝包之后需要登陸嵌戈,選擇您之前注冊(cè)的賬號(hào)和密碼進(jìn)行登陸覆积,登陸之后點(diǎn)擊下一步,選擇安裝路徑(這里不限)熟呛,選擇版本5.12.3:如圖勾選基本組件:如果硬盤容量比較充足宽档,建議將ming64位的也勾選上。如果硬盤容量不足庵朝,圖中的sources以及qt debug information這兩項(xiàng)可以選擇不安裝吗冤。
選中主要安裝項(xiàng)目之后,需要安裝一些tools:如下圖:
之后點(diǎn)擊下一步即可九府。預(yù)計(jì)安裝包大小在10-20G左右椎瘟,
3.安裝好所有工具后,配置系統(tǒng)環(huán)境變量侄旬。
打開系統(tǒng)屬性之后打開環(huán)境變量肺蔚,打開path,將C:\Qt\Tools\mingw730_64\bin和C:\Qt\Tools\mingw730_32\bin加入(之前qt安裝時(shí)候選擇tools 下的兩個(gè)mingw)檢查cmake是否存在環(huán)境變量中儡羔,如果沒有宣羊,將cmake 安裝目錄加入即可。
4.打開cmake開始進(jìn)行編譯操作
其中where√is〕鸱搿source code 里面填寫存放opencv源文件的地方族操。下面那一行填寫你編譯后保存的地址苛坚。之后點(diǎn)擊下方的configure按鈕
之后彈出的里面設(shè)置如下;
選擇c和c++編譯器的地址:如下
C:/Qt/Tools/mingw730_32/bin/gcc.exe
C:/Qt/Tools/mingw730_32/bin/g++.exe
再點(diǎn)擊finish之后開始編譯。等待他完成之后:
會(huì)出現(xiàn)很多紅色的警告泼舱,這是默認(rèn)的配置姐赡。這時(shí)我們需要選中一些我們需要安裝的組件.
在Search框內(nèi)搜索QT和OPENGL,都打上勾
(
勾選?WITH_OPENGL
勾選?WITH_QT
不勾選?WITH_IPP
不勾選?ENABLE_PRECOMPILED_HEADERS
勾選OPENCV_ENABLE_NONFREE
不勾選?WITH_OPENCL_D3D11_NV
關(guān)于TEST的都取消
)
搜索EXTRA柠掂,出現(xiàn)OPENCV_EXTRA_MODILES_PATH。將F:/opencv/opencv-4.10/opencv_contrib-4.1.0/modules加入(即之前的contrib文件路徑下依沮。)之后涯贞。再次繼續(xù)configure。
完畢之后需要檢查一下下面設(shè)置
設(shè)置 QT_MAKE_EXECUTABLE 為 C:/Qt/5.12.3/mingw73_32\bin\qmake.exe(如果沒有這一項(xiàng)請(qǐng)點(diǎn)擊add?entry?添加如下圖:)
設(shè)置 Qt5Concurrent_DIR 為 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Concurrent
設(shè)置 Qt5Core_DIR 為 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Core
設(shè)置 Qt5Gui_DIR 為 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Gui
設(shè)置 Qt5Test_DIR 為C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Test
設(shè)置 Qt5Widgets_DIR 為 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Widgets
設(shè)置 Qt5OpenGL_DIR 為 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5OpenGL
設(shè)置 CMAKE_BUILD_TYPE 為 Release?
之后configure直至紅色完全消失之后點(diǎn)擊Gnerate危喉。
如上表示已經(jīng)初步完成
5.接下來開始編譯:
打開cmd 進(jìn)入存放cmake編譯后的文件宋渔,如下:
等待編譯完成。
mingw32-make -j n(n代表cpu核數(shù))
編譯成功后如下辜限,現(xiàn)在我們需要生成
接下來在cmd中繼續(xù)輸入?mingw32-make?install之后跑完即可皇拣。
6.最后配置
最后opencv?庫(kù)最終生成,將庫(kù)環(huán)境添加進(jìn)入系統(tǒng)環(huán)境變量path中
path:E:\LIB\opencv-4.1.0\install\x86\mingw\bin
7.測(cè)試:新建qt項(xiàng)目
打開qt?creator之后薄嫡,新建一個(gè)qt項(xiàng)目:
在.pro?文件中添加:
INCLUDEPATH +=E:\LIB\opencv-4.1.0\install\include
LIBS +=E:\LIB\opencv-4.1.0\install\x86\mingw\lib\libopencv_*.a
這兩項(xiàng)即可氧急。
代碼和效果如下:
實(shí)現(xiàn)效果如圖:
自此opencv配置完成:(吐血警告,個(gè)人機(jī)器內(nèi)千萬(wàn)不要有兩個(gè)及以上的mingw版本毫深,否則編譯期間會(huì)出現(xiàn)一堆bug吩坝,建議先刪掉除qt自帶的兩個(gè)mingw,其他的可以在編譯完之后需要使用的情況下再下載)
附:個(gè)人csdn下載鏈接:https://download.csdn.net/download/qq_38296005/11274286
另外因?yàn)榘鏅?quán)問題opencv中的sift和surf算法模塊在nonfree里面哑蔫,上面鏈接的里面沒有nonfree模塊钉寝,需要nonfree模塊的請(qǐng):
https://download.csdn.net/download/qq_38296005/11274509
需要其他方式下載的請(qǐng)私聊本人。
吐血編譯闸迷!