OpenCV3.0 + QT5.x 環(huán)境搭建

OpenCV網(wǎng)站上對(duì)windows只提供了VS的預(yù)編譯解壓包, 因此需要自己編譯OpenCV的源碼, 以在QT環(huán)境下使用. OpenCV的編譯對(duì)編譯器版本要求比較嚴(yán)格, 因此在編譯時(shí)繞了不少?gòu)澛? 浪費(fèi)了不少時(shí)間, 現(xiàn)在把所得經(jīng)驗(yàn)分享出來.本文末附編譯好的OpenCV3.0, 方便大家.

編譯環(huán)境:

OpenCV 3.0
QT5.3.2 with MinGW4.8.2(32bit)
CMake2.8.8
Windows7 32bit

注: opencv3.1及以上不再支持32位. 本文編譯流程在Win8及更高版本W(wǎng)indows下均有兼容性問題. 但編譯好的OpenCV可以在更高版本W(wǎng)indows上完美使用. 本文截圖在Win10上完成.

編譯步驟:

1.1 安裝CMake2.8.8, 安裝QT5.3.2并確認(rèn)MinGW版本, 下載并安裝OpenCV WinPack
1.2 將QT下的相應(yīng)目錄添加進(jìn)Path變量


2.1 打開CMake后勾選Grouped, Advanced, 并選擇安裝的OpenCV源代碼目錄和編譯生成目錄.

2.2 點(diǎn)擊Configure, 出現(xiàn)下圖對(duì)話框. 選擇MinGW Makefiles, 選中Specify native compilers

2.3 繼續(xù)下一步, 彈出如下對(duì)話框, 選擇編譯器, C編譯器選擇QT安裝目錄下的.\Tools\mingw530_32\bin\gcc.exe. C++編譯器選擇QT安裝目錄下的.\Tools\mingw530_32\bin\g++.exe, 繼續(xù)下一步.

2.4 點(diǎn)擊Finish, 等待預(yù)編譯完成. 過程中可能會(huì)報(bào)錯(cuò) Error in configuration process, project files may be invalid. 忽略即可.
3.1 展開WITH列表, 將WITH_IPP去除勾選, 勾選WITH_QT和WITH_OPENGL


3.2 點(diǎn)擊Generate, 等待編譯完成
4.0 打開OpenCV源文件文件夾中CMake目錄下的Opencvcompileroptions.cmake文件
搜索找到add_extra_compiler_option(-Werror=non-virtual-dtor), 在該行前面加上#號(hào)注釋掉這一行. 在OpenCV3.0版本下該行為67行.

5.1 打開命令行管理器進(jìn)入生成文件夾, 執(zhí)行 mingw32-make
5.2 執(zhí)行完成后繼續(xù)輸入 mingw32-make install
等待進(jìn)度完成之后, 編譯工作便完成了
我們將目標(biāo)文件夾中的install\include文件夾和bin及l(fā)ib文件夾復(fù)制出來, 這些便是以后進(jìn)行OpenCV開發(fā)所需要的文件.此處我將文件復(fù)制到了一個(gè)命名為FilesNeededByOpenCV的文件夾中, 將此文件夾中的bin文件夾添加到系統(tǒng)Path變量中.

可將此文件夾打包, 用于其他版本W(wǎng)indows環(huán)境下的開發(fā).

如果一切順利, 則配置完成.

測(cè)試:

新建一個(gè)QT項(xiàng)目, 在pro文件中加入
INCLUDEPATH += "C:\FilesNeededByOpenCV\include\opencv" INCLUDEPATH += "C:\FilesNeededByOpenCV\include\opencv2" INCLUDEPATH += "C:\FilesNeededByOpenCV\include" LIBS += "C:\FilesNeededByOpenCV\lib\libopencv_*.a"
其中文件路徑替換為你上步操作實(shí)際選擇的文件夾

#include <opencv2/opencv.hpp> using namespace cv; int main(){ Mat srcImage = imread("1.jpg"); imshow("IMAGE", srcImage); waitKey(0); }


運(yùn)行成功!

最后:

附上打包的預(yù)編譯文件
https://drive.google.com/open?id=0B7VyGeuv2EoGUmJuSUxPMVB6Z2s

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容