天天看點

OpenCV在Windows下編譯WITH_Qt

1.安裝好Qt和Qtcreator

2.解壓OpenCV源碼到一個目錄下。路徑不能帶空格和中文。

3.把E:\Qt\qtcreator-2.1.0\mingw\bin添加到系統環境變量中。

4.安裝Cmake_gui,運作。設定好OpenCV源碼路徑和目标路徑。點configure,選擇MinGW Makefiles ,use default native compilers。

5.添加WITH_OPENGL和WITH_QT兩個選項。

6.再次點configure。

7.點generate。

完成後輸出Generating done。

如果報錯缺少dll檔案,到dll下載下傳站下載下傳下來,放到windows/system32即可。

8.打開控制台界面,輸入E: ,然後輸入CD  ProgramFiles\OpenCVlib ,就是剛剛的目标路徑。

9.在終端輸入:mingw32-make 。可能要20-30分鐘,關掉防毒軟體會快一些。

可能會出現變量為定義之類的錯誤,上網搜一下,能解決就解決,不能解決就換一個版本重新來。不要吊死在一棵樹上,開始用2.1.0版本79%有變量未定義報錯,找了很久也找不到問題,換成2.2.0版本就一路順風了。

OpenCV在Windows下編譯WITH_Qt

10.執行mingw32-make install,這個很快。

11.建立一個目錄,将cmake目标檔案夾下的bin目錄、lib目錄、include目錄(隻要opencv和opencv2連個就可以),拷到新目錄中。其他的沒用了,可以删了。将bin目錄路徑添加到系統環境變量。

12.至此Qt Creator下的OpenCV開發環境已經配置好,下面在Qt Creator下測試是否已經配置成功

13.打開Qt Creator,建立一個空工程,然後添加一個cpp檔案,任意命名。

14.在pro檔案中添加如下OpenCV的依賴檔案:

INCLUDEPATH+=E:\ProgramFiles\OpenCVLB\include\opencv\

                    E:\ProgramFiles\OpenCVLB\include\opencv2\

                    E:\ProgramFiles\OpenCVLB\include

LIBS+=E:\ProgramFiles\OpenCVLB\lib\libopencv_calib3d220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_contrib220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_core220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_features2d220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_flann220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_gpu220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_highgui220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_imgproc220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_legacy220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_ml220.dll.a\

       E:\ProgramFiles\OpenCVLB\lib\libopencv_objdetect220.dll.a\

15   E:\ProgramFiles\OpenCVLB\lib\libopencv_video220.dll.amain.cpp檔案中内容如下:

#include"cv.h"

#include"cxcore.h"

#include"highgui.h"

intmain(intargc,char*argv[])

{

    IplImage*pImg;//聲明IplImage指針

    pImg=cvLoadImage("E:\\Qt\\qtcreator-2.1.0\\project\\"

                     "OpencvTest\\OpencvTest\\Angelababy.png",1);//載入圖檔

    cvNamedWindow("Image",1);//建立視窗

    cvShowImage("Image",pImg);//顯示圖像

    cvWaitKey(0);//等待按鍵

    cvDestroyWindow("Image");//銷毀視窗

    cvReleaseImage(&pImg);//釋放圖像

    return0;

}

OpenCV在Windows下編譯WITH_Qt