Qt平台添加OpenCV库
1 軟件下載
- CMake V3.9.0
- OpenCV V3.2.0
- Qt V5.8.0
- 注意:請嚴格按照這幾個版本,我之前下載了其他的版本編譯總是出錯,雖然不確定是否一定是版本問題,但是減少錯誤因素吧!軟件鏈接來源于此博客
- http://ex2tron.top/2017/07/26/CMake%E7%BC%96%E8%AF%91OpenCV3-2%EF%BC%88Qt%E5%B9%B3%E5%8F%B0%EF%BC%89/
2 添加系統環境變量
將編譯器的路徑添加到系統的環境變量Path中,沒有就新建。
D:\Qt\Qt5.8.0\Tools\mingw530_32\bin; D:\Qt\Qt5.8.0\5.8\mingw53_32\bin
注意:這里最好直接復制路徑過來,減小錯誤發生!(自己Qt的安裝目錄)
注意:CMake安裝時勾選添加CMake到系統Path中(又不用手動去添加了)
3 打開CMake-gui ,進行OpenCV編譯
前面步驟不容易出錯,網上很多教程都有,關鍵到了第一次configure之后就容易出錯,所以這里說下
總共兩次configure,一次generate是最后。
勾選WITH_QT 點擊 configure;
出現幾個紅色,Qt開頭的確認value的路徑沒問題,再一次點擊configure;
沒有紅色了,點擊generate
注意:我沒有勾選OPENGL,如果你要用的話自行勾選,可能會出現跟OPENGL相關的紅色項!比如你沒有類似的lib文件等等。
后面就編譯成功了。
4 編譯好之后,添加環境變量,重啟
編譯好之后,把下面三個文件夾提取出來放在一個新目錄下,比如:D:\QtOpenCV
之后將上圖bin的路徑(D:\QtOpenCV\bin)添加到系統環境變量,重啟電腦
5 測試配置是否成功
Qt新建一個工程,先在.pro文件里添加依賴項
INCLUDEPATH += D:\QtOpenCV\includeD:\QtOpenCV\include\opencvD:\QtOpenCV\include\opencv2 LIBS += D:\QtOpenCV\lib\libopencv_*.a注意:同樣最好用自己文件下的路徑復制過來
然后在main.cpp文件里添加
#include "mainwindow.h" #include <QApplication> #include <opencv2/opencv.hpp>int main(int argc, char *argv[]){//聲明IplImage指針IplImage*pImg;//載入圖片pImg=cvLoadImage("C:/Users/Administrator/Desktop/lena.jpg",1);//創建窗口cvNamedWindow("Image",1);//顯示圖像cvShowImage("Image",pImg);//等待按鍵cvWaitKey(0);//銷毀窗口cvDestroyWindow("Image");//釋放圖像cvReleaseImage(&pImg);return 0;}注意:代碼中 添加自己的圖片路徑
然后我運行出錯了:
Could not create directory "D:\QTdemo\Error in " Util.asciify("build-demo-1-Desktop_Qt_5_6_2_MinGW_32bit-Debug")": TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension(0x287e8a8) is not a function"
Error while building/deploying project demo-1 (kit: Desktop Qt 5.6.2 MinGW 32bit)
When executing step "qmake"
網上找了資料,我確定是路徑沒對,就是左邊項目那里,構建目錄的路徑沒對
解決辦法就是:自己在工程文件夾上新建一個文件夾,名字就是這個目錄的名字,然后再添加到構建目錄里
這只是一個例子的路徑,每個項目應該都是要建立的。分析了出錯的原因:就是因為自己之前裝了其他版本的Qt然后卸載,這個新的就不能自己build了,我就是參考原來的,發現原版本的就是會自動建一個文件夾,總之是解決了!
然后運行會提示有兩個警告說:argc 和 argv 兩個變量沒有使用,如果不想要警告,可以在.pro文件里添加一行:
QMAKE_CXXFLAGS += -Wno-unused-parameter就沒有警告了。
最后就是lena出來了
?
?
總結
以上是生活随笔為你收集整理的Qt平台添加OpenCV库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教学反思计算机专业,【计算机教学反思】_
- 下一篇: ABCD选项的排序方式