Win10系統html
Qt5.2.0ios
Opencv2.4.9vim
安裝在D:\Qt\5.2.0文件夾(記爲A文件夾)app
Qt下載地址:測試
http://download.qt-project.org/official_releasesui
http://ftp.vim.org/languages/qt/archive/qt/spa
http://download.qt.io/archive/qt.net
Opencv官網:https://opencv.org/code
下載Opencv 2.4.9htm
解壓到:E:\opencv2.4\opencv\opencv(記爲B文件夾)
我安裝到了E盤
CMake下載地址: http://www.cmake.org/cmake/resources/software.html
注意路徑中不能有空格和中文,在安裝過程當中,勾選爲全部用戶加入到環境變量
opencv環境變量:(個人路徑)
E:\opencv2.4\opencv\opencv\build\includeopencv
E:\opencv2.4\opencv\opencv\build\include\opencv2
E:\opencv2.4\opencv\opencv\build\include
qt環境變量:(mingw)
D:\Qt\5.2\mingw48_32\bin(cmake Generate用到)
D:\Qt\Tools\mingw48_32\bin (cmake Configure用到)
具體配置結果以下圖:
首先,肯定一個目標文件夾位置:這裏選擇 D:/programFiles/opencv2.4
Where is the source code: E:/opencv2.4/opencv/opencv/sources
Where to build the binaries: D:/programFiles/opencv2.4
而後,點擊Configure,在彈出的框中選擇MinGW Makefiles ,並勾選 Specify native compilers.
接着配置C和C++編譯器路徑:
C: D:\Qt\5.2\mingw48_32\bin\gcc.exe
C++: D:\Qt\5.2\mingw48_32\bin\g++.exe
點擊finish開始配置
若是報錯,說明D:\Qt\Tools\mingw48_32\bin
沒加到PATH中
這時,會在目標目錄下生產一些文件。cmake界面出來了一些可選項勾選QT和OPENGL,其餘不用改,再次點擊Configure。若是報錯,說明D:\Qt\5.2\mingw48_32\bin
沒加到PATH中
注意: 必定要勾選WITH_QT 和 WITH_OPENGL
點擊Generate,成功後,底下會提示Generating done
這時,在D:/programFiles/opencv2.4
文件夾下會生成一系列文件Makefile相關
而後,安裝shift,右鍵鼠標,打開cmd,輸入mingw32-make
命令
會花比較長的時間進行這個編譯過程。
編譯完成之後,輸入mingw32-make intall
命令
這個過程很快就會完成。
最後,選擇一個文件夾做爲最終文件的存放地址:這裏選擇E:\opencvForQt
文件夾。
須要作如下工做:
E:\opencvForQt中
E:\opencvForQt中
E:\opencvForQt中
在pro文件夾中加入如下配置說明:
INCLUDEPATH+=E:\opencvForQt\include INCLUDEPATH+=E:\opencvForQt\include\opencv INCLUDEPATH+=E:\opencvForQt\include\opencv2 LIBS += -L E:\opencvForQt\lib\libopencv_*.a
完整配置:
QT += core QT -= gui TARGET = testOpencv CONFIG += console CONFIG -= app_bundle TEMPLATE = app SOURCES += main.cpp INCLUDEPATH+=E:\opencvForQt\include INCLUDEPATH+=E:\opencvForQt\include\opencv INCLUDEPATH+=E:\opencvForQt\include\opencv2 LIBS += -L E:\opencvForQt\lib\libopencv_*.a
在main.cpp中修改:
對文件名進行修改便可進行測試。
#include <QCoreApplication> #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; int main() { Mat image; image = cv::imread("K:/QTtest/untitled/1.bmp"); if(image.empty()) return 1; imshow("image", image); waitKey(0); }