一、下载相关工具
下载opencv、QT(MinGW)、cmake
二、添加环境变量
D:\QT\Qt5.9.1\Tools\mingw530_32\bin;
D:\QT\Qt5.9.1\5.9.1\mingw53_32\bin;
若安装cmke时没有添加cmake环境变量,则添加D:\cmake3.16\bin。
三、进行cmake编译
打开cmake在where is the soure code位置选择库文件源代码
在where to build the binaries位置选择编译后存放路径,之后点击configure
然后在弹出界面中选择MinGW Makefiles和specify native compilers。
点击next后选择对应编译器。
再点击finish之后开始编译。等待他完成之后会出现很多默认红色的警告。
选中一些我们需要安装的组件:
勾选 WITH_OPENGL
勾选 WITH_QT
不勾选 WITH_IPP
不勾选 ENABLE_PRECOMPILED_HEADERS
勾选OPENCV_ENABLE_NONFREE
不勾选 WITH_OPENCL_D3D11_NV
不勾选所有带TEST的选项
完成后再次继续configure直至红色消失后点击generate。
四、打开cmd进行编译
打开cmd后输入 D:后回车,再输入cd D:\opencv-2.4.9\MinGW530后回车(即cmke编译后存放的目录)。
再输入mingw32-make -j n后回车(n代表cpu核数)。
等待100%完成后继续输入 mingw32-make install,之后等待100%完成。
五、将opencv库添加至环境变量
最后opencv 库最终生成,将库环境添加进入系统环境变量path中
D:\opencv-2.4.9\MinGW530\install\x64\mingw\bin
六、在QT中配置连接OpenCV库
若QT编译器为MINGW,则在QT项目中打开.pro文件并添加:
INCLUDEPATH+=D:\opencv-2.4.9\MinGW530\install\include
INCLUDEPATH+=D:\opencv-2.4.9\MinGW530\install\include\opencv
INCLUDEPATH+=D:\opencv-2.4.9\MinGW530\install\include\opencv2
LIBS += -L D:\opencv-2.4.9\MinGW530\lib\libopencv_*.a
若QT的编译器为MSVC2013_64则添加:
INCLUDEPATH+=F:\opencv-2.4.9\VS\build\include
INCLUDEPATH+=F:\opencv-2.4.9\VS\build\include\opencv
INCLUDEPATH+=F:\opencv-2.4.9\VS\build\include\opencv2
CONFIG(debug, debug|release): {
LIBS += -LF:\opencv-2.4.9\VS\build\x64\vc12\lib\
-lopencv_core249d \
-lopencv_imgproc249d \
-lopencv_highgui249d \
-lopencv_ml249d \
-lopencv_video249d \
-lopencv_features2d249d \
-lopencv_calib3d249d \
-lopencv_objdetect249d \
-lopencv_contrib249d \
-lopencv_legacy249d \
-lopencv_flann249d
} else:CONFIG(release, debug|release): {
LIBS += -LF:\opencv-2.4.9\VS\build\x64\vc12\lib\
-lopencv_core249 \
-lopencv_imgproc249 \
-lopencv_highgui249 \
-lopencv_ml249 \
-lopencv_video249 \
-lopencv_features2d249 \
-lopencv_calib3d249 \
-lopencv_objdetect249 \
-lopencv_contrib249 \
-lopencv_legacy249 \
-lopencv_flann249
}
若编译器为msvc2015_64,则添加
INCLUDEPATH+=F:\opencv-2.4.9\VS\build\x64\vc14\install\include
INCLUDEPATH+=F:\opencv-2.4.9\VS\build\x64\vc14\install\include\opencv
INCLUDEPATH+=F:\opencv-2.4.9\VS\build\x64\vc14\install\include\opencv2
CONFIG(debug,debug|release){
LIBS += -LF:\opencv-2.4.9\VS\build\x64\vc14\install\lib\
-lopencv_calib3d249d \
-lopencv_contrib249d \
-lopencv_core249d \
-lopencv_features2d249d \
-lopencv_flann249d \
-lopencv_gpu249d \
-lopencv_highgui249d \
-lopencv_imgproc249d \
-lopencv_legacy249d \
-lopencv_ml249d \
-lopencv_nonfree249d \
-lopencv_objdetect249d \
-lopencv_ocl249d \
-lopencv_photo249d \
-lopencv_stitching249d \
-lopencv_superres249d \
-lopencv_ts249d \
-lopencv_video249d \
-lopencv_videostab249d
}
else{
LIBS += -LF:\opencv-2.4.9\VS\build\x64\vc14\install\lib\
-lopencv_calib3d249 \
-lopencv_contrib249 \
-lopencv_core249 \
-lopencv_features2d249 \
-lopencv_flann249 \
-lopencv_gpu249 \
-lopencv_highgui249 \
-lopencv_imgproc249 \
-lopencv_legacy249 \
-lopencv_ml249 \
-lopencv_nonfree249 \
-lopencv_objdetect249 \
-lopencv_ocl249 \
-lopencv_photo249 \
-lopencv_stitching249 \
-lopencv_superres249 \
-lopencv_ts249 \
-lopencv_video249 \
-lopencv_videostab249
}
在cpp文件中包含头文件(按照需要包含)
#include “highgui/highgui.hpp”
#include “opencv2/nonfree/nonfree.hpp”
#include “opencv2/legacy/legacy.hpp”
最后添加
using namespace cv;
完成配置。
参考链接:
https://www.jianshu.com/p/9841e53a5001
https://blog.csdn.net/u012532263/article/details/103904482