在Qt 中如何使用OpenCV庫

2021-06-09 19:46:43 字數 1362 閱讀 4839

opencv是乙個基於bsd許可證授權(開源)發行的跨平台計算機視覺庫,可以執行在linux、windows和mac os作業系統上。它輕量級而且高效——由一系列 c 函式和少量 c++ 類構成,同時提供了python、ruby、matlab等語言的介面,實現了影象處理和計算機視覺方面的很多通用演算法。

qt開發的程式一般需要借助qmake生成makefile檔案。由於qmake在解析路徑的時候不能識別空格,因此需要確保opencv的安裝路徑中不能包含空格(c:\program files\opencv是不行的)。我是直接安裝在c:\opencv位置。

qmake解析路徑的時候是可以有空格的,在qt助手中可以看到,使用 $$quote(c:/mylibs/extra libs/extra.lib) 這樣的形式就可以

在建立工程檔案的時候(這裡假設為hello.pro,字尾為pro),向工程中新增以下語句:

1. includepath += c:\opencv\cv\include \

2. c:\opencv\cvaux\include \

3. c:\opencv\cxcore\include \

4. c:\opencv\otherlibs\highgui

5. libs += c:\opencv\lib\cv.lib \

6. c:\opencv\lib\cvaux.lib \

7. c:\opencv\lib\cxcore.lib \

8. c:\opencv\lib\highgui.lib \

9. c:\opencv\lib\cvcam.lib

以上是make檔案的常用寫法。當然也可以使用qmake自己的+=命令,如下:

# 新增標頭檔案路徑

1. includepath += c:\opencv\cv\include

2. includepath += c:\opencv\cvaux\include

3. includepath += c:\opencv\cxcore\include

4. includepath += c:\opencv\otherlibs\highgui

# 新增lib檔案路徑

1. libs += c:\opencv\lib\cv.lib

2. libs += c:\opencv\lib\cvaux.lib

3. libs += c:\opencv\lib\cxcore.lib

4. libs += c:\opencv\lib\highgui.lib

5. libs += c:\opencv\lib\cvcam.lib

其中#開頭的是注釋。

如果是在linux系統,qmake命令中的includepath和libs引數可能有些細節上的差異。關於make的使用可以參考這裡:

在Qt中使用opencv庫

查閱了很多的方法,編譯了很多次,發現還是不行。我使用qt5.2.1,vs2010,opencv2.3.1 1.用cmake編譯時候會出現 因為實在改不來這裡說的錯誤,我就試了所有可以用的opencv不同的版本,發現還是會有錯。2.問過同事後發現其實很簡單就可以使用opencv庫 只要在pro檔案中新...

QT中編譯和使用OPENCV

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

編譯Qt的opencv庫

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