QT配置opencv开发环境
0 編譯、配置OpenCV的工程相當曲折,編譯OpenCV不下5次,一開始還以為是自己的配置、編譯步驟有問題,后來發現原來是自己電腦裝的Qt Creator版本有點低,里面的MingW版本較低,而OpenCV下載的是最新版本,最新版本的OpenCV需要高版本的MingW。最后果斷換成高版本Qt Creator,終于編譯成功。
?
1 下載所需工具
(1)Qt Creator 下載地址http://qt-project.org?(建議下載最新版本,因為里面帶的MinGW版本較高,我最開始使用Qt 4.7.4編譯OpenCV-2.4.4一直報錯,后來換成Qt 5.0.1編譯成功)
(2)OpenCV 下載地址http://opencv.org/(不建議下載最新版本,最新版本的編譯需要高版本的MinGW,不然在執行mingw32-make命令會報錯)
(3)CMake 下載地址http://www.cmake.org/cmake/resources/software.html
?
2 安裝Qt Creator,過程很簡單,一直下一步就OK
?
3 安裝OpenCV,設置解壓路徑就OK
?
4 安裝CMake,過程同樣很簡單(注意:(1)安裝路徑不能有中文和空格(2)勾選加入所有境變量中)
?
5?目前最新的OpenCV版本,安裝之后的目錄下面有源碼和個版本的lib和dll,不過為避免出現問題,還是自己編譯
?
6?將C:\Qt\Qt5.0.1\Tools\MinGW\bin加入系統的Path環境變量(假設Qt Creator安裝在C盤)
?
7?打開CMake,使用CMake編譯OpenCV。配置源碼路徑與生成的目標路徑
(1)源碼路徑:要選擇OpenCV安裝目錄下含有如下文件的文件夾
(2)目標路徑:可以隨意設置
?
8?點擊Configure配置按鈕。在彈出的對話框中選擇MinGW makefiles,其余選項保持默認,點擊Finish按鈕,開始編譯
?
9 CMake編譯結束界面如下圖,勾選生成列表中的WITH_OPENGL和WITH_QT兩項,其他項最好不要改動
?
10?再次點擊Configure按鈕,紅色消失
?
11?點擊Generate按鈕,生成makefile文件,成功后,底下會提示Generating done
?
12?打開cmd,進入剛才設置的目標路徑(C:\OpenCV),輸入mingw32-make命令開始編譯
?
13?此過程較為漫長,建議關掉殺毒軟件可能會快些,在我的ThinkPad T420上耗時30分鐘
?
14?執行mingw32-make install,此過程大約需要1到2分鐘
?
15 下面開始配置Qt Creator的OpenCV開發環境,拷貝下面三個文件夾放在同一個文件夾下(只需這三個目錄,其余生成的文件和文件夾可以刪除,以節省磁盤空間)
(1)OpenCV-2.4.4安裝目錄下的build/include目錄
?
(2)CMake目標路徑下,MinGW編譯后的bin目錄
(3)CMake目標路徑下,MinGW編譯后的lib目錄
?
?
16?拷貝三個目錄到同一目錄后的結構如下圖(我刪除了原來的CMake目標目錄中的其他目錄,拷貝進來了include目錄)
?
17?將bin目錄添加到系統環境變量
?
18?至此Qt Creator下的OpenCV開發環境已經配置好,下面在Qt Creator下測試是否已經配置成功
?
19?打開Qt Creator,新建一個空工程,然后添加一個cpp文件,任意命名
?
20?在pro文件中添加如下OpenCV的依賴文件
INCLUDEPATH+=C:\OpenCV\include\opencv\
????????????????????C:\OpenCV\include\opencv2\
????????????????????C:\OpenCV\include
?
LIBS+=C:\OpenCV\lib\libopencv_calib3d244.dll.a\
????????C:\OpenCV\lib\libopencv_contrib244.dll.a\
????????C:\OpenCV\lib\libopencv_core244.dll.a\
????????C:\OpenCV\lib\libopencv_features2d244.dll.a\
????????C:\OpenCV\lib\libopencv_flann244.dll.a\
????????C:\OpenCV\lib\libopencv_gpu244.dll.a\
????????C:\OpenCV\lib\libopencv_highgui244.dll.a\
????????C:\OpenCV\lib\libopencv_imgproc244.dll.a\
????????C:\OpenCV\lib\libopencv_legacy244.dll.a\
????????C:\OpenCV\lib\libopencv_ml244.dll.a\
????????C:\OpenCV\lib\libopencv_objdetect244.dll.a\
????????C:\OpenCV\lib\libopencv_video244.dll.a
備注:其實有種簡單的做法,但是有個缺點是可能包含鏈接庫較多
INCLUDEPATH+=C:\OpenCV\include\opencv\
????????????????????C:\OpenCV\include\opencv2\
????????????????????C:\OpenCV\include
LIBS+=C:\OpenCV\lib
?
21 main.cpp文件中內容如下
#include"cv.h"
#include"cxcore.h"
#include"highgui.h"
?
intmain(intargc,char*argv[])
{
????//聲明IplImage指針
????IplImage*pImg;
????//載入圖片
????pImg=cvLoadImage("E:/OpenCV/FirstOpenCV/home.jpg",1);
????//創建窗口
????cvNamedWindow("Image",1);
????//顯示圖像
????cvShowImage("Image",pImg);
????//等待按鍵
????cvWaitKey(0);
????//銷毀窗口
????cvDestroyWindow("Image");
????//釋放圖像
????cvReleaseImage(&pImg);
?
????return0;
}
?
22?運行程序,按鍵盤上任意鍵可以退出
?
轉自:http://blog.csdn.net/qiurisuixiang/article/details/8665278
總結
以上是生活随笔為你收集整理的QT配置opencv开发环境的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Dependency Walkers
- 下一篇: Eclipse配置Android开发环境