QT之編譯opencv及使用

2021-07-31 21:02:13 字數 1841 閱讀 2376

三 使用用qt編譯opencv

四 qt中的opencv配置

五 error

一 為何要自己編譯?

例如:在安裝目錄的build目錄下看到64位c++介面的庫只有vc11和vc12這兩個版本,而我目前使用的編譯器是microsoft visual c++ compiler 14.0,需要的是vc14的版本,至於mingw的更沒有了。

修改系統path變數,新增opencv的dll所在到目錄bin到path中去。如果不新增你在執行帶有opencv函式的程式時因無法找到dll而無法啟動,比如qt上是出現the cdb process terminated錯誤。

原來用qt編譯opencv更方便,詳情請看qt5.6+mingw4.9.2+opencv3.1+win10開發環境搭建

,只要在qt kit上配置好cmake,用qt開啟opencv專案中的cmakelists.txt檔案就ok了。然後可以直接選用qt裡的kit配置,qt就會自動配置相關的編譯環境了生成對應編譯工程檔案,省了手動生成工程的麻煩。

而相應的選擇with_qt等可以到專案的cmake裡選擇。構建步驟裡選擇install就行了,無論是msvc還是mingw都可以選擇編譯。

又學到一招,今後所有有cmake配置的專案都可以用qt這樣子編譯了。

在工程檔案.pro中新增opencv的庫檔案,debug和release都新增了。

```確保path路徑中包涵了opencv的dll路徑,沒有就新增

vs 編譯後include裡頭檔案不全,只有幾個。解決方法參考

進入自己的路徑找到opencv.sln,使用vs2015開啟,然後執行all_build編譯,執行完後,找到cmaketargets的install工程,同樣編譯一次,注意debug,release的win32,以及如果要生成64位的,也要重新cmake後再重新編譯一次。

編譯install工程後找到install目錄就有所有的include,lib,bin了。

用qt測試opencv總出來the cdb process terminated

原因1:可能是你的編譯器版本和編譯opencv庫的版本不一致導致,這個自己編譯一次opencv

原因2:沒有配置好opencv的dll的環境變數,在系統環境變數path路徑上加入opencv的dll的路徑,如我的是

f:\baiduyundownload\opencv\install\x64\vc14\bin\這樣可能要登出或重啟機子才生效,qt裡直接到專案裡修改下系統的path變數也行。不用登出或重啟機子。

QT中編譯和使用OPENCV

一 編譯 之前用vs2010編譯的opencv可以在qt中使用,就沒有去管,最近發現有點bug,遂想用qt,準確地說是用mingw重新編譯下。網上很多教程都是講使用,講編譯的很少,這篇倒是道出了一點門道 1.先要把d qtsdk mingw bin放入環境變數 qt安裝目錄不同會不同 2.使用cma...

OpenCV庫Windows下QT編譯及使用

準備所需軟體 軟體安裝 2.1安裝好qt並配置好相關環境變數。2.2安裝cmake,安裝路徑不允許有中文和空格。2.3解壓opencv至c盤目錄 編譯opencv 3.1開啟cmake,指定原始碼位置 就是opencv解壓出來的地方 和存放生成檔案的地方 如下圖所示 點選configure按鈕彈出如...

編譯Qt的opencv庫

opencv不要用高版本的,否則編譯不出來 這是個玄學問題 應該是qt的mingw53 32編譯器版本低吧,這裡建議用opencv3,官方教程用的是opencv3.2.0 但是opencv3.2版本不自帶dnn模組還得另外安裝,所以這裡推薦opencv3.3以上的,我用的是opencv3.4.3 如...