QT + OpenCV + MinGW 在windows下配置开发环境
? ? ? ?由于研究項(xiàng)目需要,最近開始接觸C++界面設(shè)計(jì),關(guān)于“QT + OpenCV + MinGW在windows下配置開發(fā)環(huán)境”著實(shí)讓人頭疼,單次配置時(shí)間相當(dāng)長,也十分不容易,本人第一次配置成功就花了兩天,期間查找了許多帖子,現(xiàn)在整理出來一套完整配置方案,附加幾個(gè)注意點(diǎn),供大家參考。
一、為什么要選擇QT
? ? ? ? OpenCV庫是一套全面而簡潔的計(jì)算機(jī)視覺算法庫,OpenCV主要由一些C及C++函數(shù)和類構(gòu)成。在Windows平臺上開發(fā)視覺算法時(shí),Visual Studio IDE無疑是一款強(qiáng)大的工具軟件,但是,如果要給我們的OpenCV視覺算法加上漂亮的用戶界面,即GUI,將會(huì)變得有些麻煩。在Visual Studio中,可以將OpenCV與MFC相結(jié)合開發(fā)界面,然而,MFC太龐大,且涉及到多線性(Multi-Thread)、先進(jìn)圖形圖像顯示、跨平臺等需求時(shí),使用MFC開發(fā)OpenCV算法界面會(huì)變得讓人抓狂(姑且這么說吧)。另一種技術(shù),就是在Visual Studio中,我們在視覺解決方案中可以建立C#工程,通過C#構(gòu)建界面,這里,Visual Studio自帶強(qiáng)大的Blend界面設(shè)計(jì)工具,那么問題又來了:C#和C++語言體系不同,C#為解釋型語言,C++為編譯型語言,OpenCV本身為C++代碼,二者在代碼和數(shù)據(jù)交互上存在太多麻煩的轉(zhuǎn)換,轉(zhuǎn)換的過程浪費(fèi)開發(fā)時(shí)間。
? ? ? ?因此,涉及到本文的主要目的,即:在Qt中引入OpenCV庫,將Qt擅長的界面和OpenCV擅長的視覺算法有機(jī)結(jié)合起來,從而讓我們快速的進(jìn)行項(xiàng)目的構(gòu)建和開發(fā)。
二、下載必備軟件
- QT SDK for Open Source C++ development on Windows(在google上搜索一下官方網(wǎng)站即可找到),QT官網(wǎng)提供開源軟件,注冊一下即可下載。
- OpenCV 2.4.10:可以到opencv官網(wǎng)(?http://sourceforge.net/projects/opencvlibrary/files/opencv-win)選擇最新的OpenCV版本,由于本人電腦本來就有opencv2.4.10,故選擇此版本,安裝之后的目錄下面有源碼和個(gè)版本的lib和dll,不過為避免出現(xiàn)問題,還是自己編譯吧。
- Cmake?
編譯opencv需要用到CMake這個(gè)工具。
-
下載:https://CMake.org/download/
建議下載安裝版的,這個(gè)可以自動(dòng)加入系統(tǒng)環(huán)境變量。
? ? ? ? ? ? ? ? ?2.? 安裝,選擇第二個(gè),為所有用戶添加系統(tǒng)路徑。之后Qt可以自動(dòng)找到CMake
? ? ? ? ? ? ? ? ? ? ? ?
三、安裝QT Creator
? ? ? ? 1. 下載:http://download.qt.io/archive/qt/5.8/5.8.0/
? ? ? ? ? ? ?建議選擇離線安裝包,在線安裝太慢,經(jīng)常會(huì)安裝失敗。
? ? ? ? ? ? ?選擇MinGW版本。VS 版本還需要安裝對應(yīng)的VS,單獨(dú)安裝Qt 是不可用的,而MinGW版本自身帶有MinGW。
? ? ? ? ? ? ?建議下載最新版本,因?yàn)槔锩鎺У腗inGW版本較高,如果MinGW版本比opencv需要的版本低會(huì)編譯失敗。
? ? ? ? ?
?
? ? ? ? 2.? 安裝:安裝路徑不能有空格,我安裝在默認(rèn)路徑,然后一路NEXT。
?四、下載OpenCV
?
? ? ? ? ?下載opencv for Windows?
? ? ? ? ?https://opencv.org/releases.html
?
? ? ? ? 連接里頭有OpenCV各個(gè)版本,建議不要下載最新版本,只要下載源碼就行了。
? ? ? ? ?
? ? ? ? 如果編譯失敗,試試其他版本的opencv,MinGW版本要跟opencv版本對應(yīng)才能編譯成功。
??五、通過Cmake對OpenCV進(jìn)行配置和生成
? ? ? ?
? ? ? ? 第一行添加Opencv源代碼路徑,第二行為生成的minGW編譯文件所在位置。
? ? ? ?點(diǎn)擊左下方的configure,會(huì)提示選擇編譯器,此處一定要選擇"Specify native compilers",之前直接選取“Use default native compilers”,最后在配置完成,生成動(dòng)態(tài)庫后在QT中使用經(jīng)常出錯(cuò),后重新選擇配置編譯才可以正常使用。
? ? ? ??
? ? ? ??此處選擇的編譯器一定要是在環(huán)境變量中的C和C++編譯器。g++.exe和gcc.exe在QT安裝目錄下Tool\Mingw5.3.0文件夾下。
? ? ? ? ??
? ? ? ? 如果出現(xiàn)上圖紅色錯(cuò)誤,檢查一下相關(guān)文件路徑是否出錯(cuò),如果出錯(cuò),改成相應(yīng)路徑即可,例如:CMAKE_INSTALL_PREFIX的路徑為install的路徑,再次點(diǎn)擊左下方的configure,成功后,有兩處需要更改。
? ? ? ? ?
? ? ? ?上圖選取的地方是CMake生成的configure類型,可以填入Debug和Release,這樣生成的庫文件就可以指出上面兩種版本的編譯。
? ? ? ? 另外必須要勾選下圖中的?WITH_QT,WITH_OPENGL以使CMake編譯出可以供Qt使用的庫文件
? ? ? ? 至此,就可以點(diǎn)擊generate進(jìn)行生成了。
??六、開始編譯和安裝
? ? ? 在完成以上所有步驟之后,打開控制臺,進(jìn)入生成的目錄中。依次鍵入 mingw32-make 和 mingw32-make install ,如之前配置無誤,程序就會(huì)依次開始編譯和安裝,下圖依次為相應(yīng)結(jié)果:
? ? ??鍵入mingw32-make(下圖為網(wǎng)絡(luò)圖片,若按照上面CMAKE的配置路徑改成
? ? ??
? ? ? 之前設(shè)置的mingw編譯路徑和mingw32-make.exe相關(guān)路徑即可。)
? ? ?
? ? ?回車開始編譯,編譯時(shí)間較久。
? ? ??
? ? ? 當(dāng)編譯完成后鍵入上圖路徑(第一次鍵入的命令后加install打包編譯文件,路徑修改方法同上)。
? ??
? ? ? 打包過程速度很快。
? ? ?至此,Opencv的QT庫已經(jīng)編譯完成。
? ? ?在QT工程文件中pro添加Opencv的頭文件路徑和庫即可完成。
? ? ? ? ?
?
? ? ? 按照上圖的方法修改成相應(yīng)的路徑(網(wǎng)絡(luò)圖片),但是會(huì)出現(xiàn)一些錯(cuò)誤,什么錯(cuò)誤我忘記了,記得解決方法是在(LIBS+=)后面加上(-I)。
? ? ?之后在頭文件中包含一下即可使用。
? ? ?
?
轉(zhuǎn)載于:https://www.cnblogs.com/luxiansen/p/8604772.html
總結(jié)
以上是生活随笔為你收集整理的QT + OpenCV + MinGW 在windows下配置开发环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多线程 简洁版
- 下一篇: concurrent(七)Concurr