1. 环境
(1) Windows 10 64bit
(2) Qt5.6.2, 安装路径:C:\Qt\Qt5.6.2\....,如下图所示:
(4) Cmake 3.9.0-rc5
2. 准备源代码
(1) opencv: https://github.com/opencv/opencv/tree/3.4.0
(2) opencv_contrib module: https://github.com/opencv/opencv_contrib/tree/3.4.0
3. 有效的Tips
(1) 保持Cmake运行,直到opencv和opencv_contrib编译完成
(2) 勾选Cmake中的"group"和“Advanced”选项,能够看到全部的配置信息
(3) 配置系统环境变量,如下图所示:
(4) 请务必先整篇阅读后开始操作
3. 安装步骤
(1) cmake配置
(1.1) 源文件配置和目标文件的路径
(1.2) 点击"configure" ,配置编译器,如下图我们利用QT的mingw编译器进行编译
点击"Next", 如下图所示: 分别配置gcc和g++编译器: 路径分别为(C:/Qt/Qt5.6.2/Tools/mingw492_32/bin/gcc.exe和C:/Qt/Qt5.6.2/Tools/mingw492_32/bin/g++.exe)
(1.3) 第二次点击"configure", 会显示如下图的界面,此时会下载一些库文件,请保持稳定的网络
(1.4) 当完成前述步骤时,需要完成以下勾选:
(A) 展开“With”选项,勾选“With_QT”和“With_OpenGL”,如下图所示:
(B) 展开"Enable"选项, 取消"ENABLE_PRECOMPILED_HEADERS",如下图所示:
同时需要修改“cap_Dshow.cpp”的文件,修改是在“#include "cap_dshow.hpp”前加宏定义“#define NO_DSHOW_STRSAFE”,如下图所示:
(C) 展开“OPENCV”, 配置opencv_contrib的文件路径,如下图所示,注意路径一定要到“modules”文件夹
(1.4) 第三次点击"configure",会显示一些错误,与有关QT和OpenGL的一些错误,完成如下配置:
(1.5) 第四次点击“Configure”,此时应该能够正确配置:
(1.6) 如果显示"Configuring done",此时,点击"Generate",直到显示"Generating done"
(2) cmd界面切入目录: mingw32-make,等待编译即可,正确编译截图如下:
(3) mingw32-install ,等待即可,正确执行则如下图所示:
(5) qt中使用配置, 将“C:/opencv-3.4.0/build/install"、"C/opencv-3.4.0/build/bin"、“C:/opencv-3.4.0/build/lib”拷贝出来,即为可使用的静态库和动态库; 假设我们拷贝到了如下路径下:“C:/opencv-3.4.0/release/install”、“C:/opencv-3.4.0/release/bin”、“C:/opencv-3.4.0/release/lib”,那么,在QT的.pro文件中配置如下:
(6) 将动态连接库的路径加入系统环境变量Path中,如下图所示,重启电脑,即可。
(7) 测试
#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
string inputName = "cat.jpg";
Mat img = imread(inputName);
imshow("img", img);
waitKey(0);
return 0;
}
效果如下:
(8) 特别说明:
在我的编译过程中,出现编译“C:\opencv-3.4.0\opencv-3.4.0\modules\python\python3”不通过的问题,如下图所示:
我的解决方法是: 将“BUILD"选项中的Build_opencv_python3取消勾选, 如下图所示: