- 下載所需的工具(都可在對應的官網上下載)
- QT的集成包(qt-opensource-windows-x86-mingw492-5.5.0.exe),它集成了MinGW、Qt Creator等,不需要你再單獨下載MinGW和Qt Creator。
- OpenCV3.0.0
- CMake3.3.0
- 安裝QT(需要先在官網上注冊賬號,注意組件選擇的時候全選)
- 安裝OpenCV設置解壓路徑就OK
- 安裝CMake,過程同樣很簡單(注意:1、安裝路徑不能有中文和空格 2、勾選加入所有境變量中)
- 生成Makefiles文件
- 設置系統的環境變量,即把D:\work\qt\5.5\mingw492_32\bin加入系統的Path環境變量中,因為在CMake編譯過程中會用到該目錄下的庫。
- 在桌面上點擊CMake(cmake-gui)圖標,執行CMake。如圖所示,在Where is the source code欄和Where to build thebinaries欄中分別為D:\work\opencvsrc\opencv\sources和D:\work\opencv為編譯后庫文件所存放的目錄,需要自己創建該目錄。然后點擊configure按鈕,打開新的窗口,在Specify the generator for this project下選擇MinGW Makefiles,然后選擇Specify native compilers,點擊Next按鈕,打開新的窗口,在C一欄中填寫D:/work/qt/Tools/mingw492_32/bin/gcc.exe,在C++一欄中填D:/work/qt/Tools/mingw492_32/bin/g++.exe,Fortran不填寫,然后點擊Finish按鈕,開始配置。
- 此時會出現錯誤(具體描述與解決方案見:http://bbs.csdn.net/topics/391028493),再次點擊Configure,這時不會提示任何錯誤,表明配置成功。
- 我們還需要把QT加上,找到WITH,把它下面的WITH_QT和WITH_OPENGL選上,並將WITH_IPP的勾選去掉(否則編譯的時候會出錯),再次Configure。這時會出現類似下面的錯誤提示:
CMake Error atC:/CMake/share/cmake-3.0/Modules/FindQt4.cmake:1316 (message): Found unsuitable Qt version "" from NOTFOUND, this coderequires Qt 4.x Call Stack (most recent call first): cmake/OpenCVFindLibsGUI.cmake:34 (find_package) CMakeLists.txt:466 (include) 找到QT_QMAKE_EXECUTABLE,它的值填寫為:D:/work/qt/5.5/mingw492_32/bin/qmake.exe 將Qt5Concurrent_DIR,Qt5Core_DIR,Qt5Gui_DIR,Qt5Test_DIR,Qt5Widgets_DIR,Qt5OpenGL_DIR,它們的Value分別填寫為: D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Concurrent D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Core D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Gui D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Test D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5Widgets D:/work/qt/5.5/mingw492_32/lib/cmake/Qt5OpenGL 再次Configure,這時配置完成,不會出現任何錯誤提示。雖然會有許多警告,但不用去管,按Generate。Generate完成后,關閉CMake窗口。
這樣makefile文件就生成了。 - 編譯OpenCV
- 在D:\work\opencvsrc\opencv\sources\cmake下找到 OpenCVCompilerOptions.cmake
打開它並找到 add_extra_compiler_option(-Werror=non-virtual-dtor) 將它注釋掉,變成: #add_extra_compiler_option(-Werror=non-virtual-dtor)
- 打開系統的命令終端,進入D:\work\opencv目錄,執行mingw32-make命令,這需要一段時間(大約40分鍾)。該命令執行完后,再執行mingw32-make install命令。這樣可用於Qt的opencv庫文件就生成了。
- 在D:\work\opencvsrc\opencv\sources\cmake下找到 OpenCVCompilerOptions.cmake
- 配置環境
- 在D:\work\opencv目錄下新建文件夾necessary_file
- 將D:\work\opencv目錄下的lib和bin文件夾復制進necessary_file
- 將D:\work\opencv\install目錄下的include文件夾復制進necessary_file
- 將路徑D:\work\opencv\necessary_file\bin添加到系統環境變量path中。
- 環境測試
- 打開Qt Creator,新建一個空工程,然后添加一個cpp文件,任意命名
- 工程文件.pro文件內添加下列語句:
INCLUDEPATH+=D:\work\opencv\necessary_file\include\opencv\ D:\work\opencv\necessary_file\include\opencv2\ D:\work\opencv\necessary_file\include LIBS += -L D:\work\opencv\necessary_file\lib\libopencv_*.a
- 在cpp文件里面添加如下代碼:
#include "cv.h" #include "cxcore.h" #include "highgui.h" int main(int argc,char *argv[]) { //聲明IplImage指針 IplImage*pImg; //載入圖片 pImg=cvLoadImage("E:/1.jpg",1); //創建窗口 cvNamedWindow("Image",1); //顯示圖像 cvShowImage("Image",pImg); //等待按鍵 cvWaitKey(0); //銷毀窗口 cvDestroyWindow("Image"); //釋放圖像 cvReleaseImage(&pImg); return 0; }
- 實驗結果
參考:
1、http://blog.csdn.net/zhaocj/article/details/38944037
2、http://www.mamicode.com/info-detail-500574.html
3、http://blog.csdn.net/qiurisuixiang/article/details/8665278
2015-07-18