opencv4.1.0+contrib+cmake+qt编译与环境配置(mingw版,文内附下载链接)
转自:https://www.jianshu.com/p/9841e53a5001
**鉴于opencv已经更新到了4.10,本次配置目标库即为opencv 4.1.0及其拓展库contrib,利用cmake进行编译,直接开始:**
1.下载opencv4.1.0+contrib
opencv4.1.0 下载地址:https://github.com/opencv/opencv/releases
拓展库下载地址:https://github.com/opencv/opencv_contrib/releases
如上图,选择版本4.10,点击源代码进行下载,同时下载.doc文档的压缩包(查阅opencv4.10相关函数说明使用)。(另外这个里面有一个vc15的exe文件,是一个已经编译好的opencv试用与vs2017的库,由于本次需要同时编译拓展库,所以占不考虑它了。)拓展库类似选择opencv4.10版本,即两个库版本要一致。下载之后解压缩放置在一个文件夹下:
2.下载安装vs2019,qt以及cmake
cmake下载地址:https://cmake.org/download/
qt:https://www.qt.io
vs2019:https://visualstudio.microsoft.com/zh-hans/
其中vs2019下载社区版,即community版,cmake下载3.14.4版本进行适配。这两个不需要注册,直接下载即可,其中qt需要注册之后才能下载,注册后点击主页面下载同样选择社区版下载,即开源版本。专业版需要rmb。
a. cmake安装流程:打开安装包之后按照默认配置接受license aggrement之后进入install options 选择加入path for all users,即:
之后一直按照默认的next即可。勾选第二项的原因是安装之后不需要自己进行手动配置系统环境。
b.vs2019安装流程:按照默认选择使用c++桌面开发即可,如果有需要安装其他插件和组件请自行判断安装。
c.qt安装流程:点击安装包之后需要登陆,选择您之前注册的账号和密码进行登陆,登陆之后点击下一步,选择安装路径(这里不限),选择版本5.12.3:如图勾选基本组件:如果硬盘容量比较充足,建议将ming64位的也勾选上。如果硬盘容量不足,图中的sources以及qt debug information这两项可以选择不安装。
sources
选中主要安装项目之后,需要安装一些tools:如下图:
之后点击下一步即可。预计安装包大小在10-20G左右,
3.安装好所有工具后,配置系统环境变量。
打开系统属性之后打开环境变量,打开path,将C:\Qt\Tools\mingw730_64\bin和C:\Qt\Tools\mingw730_32\bin加入(之前qt安装时候选择tools 下的两个mingw)检查cmake是否存在环境变量中,如果没有,将cmake 安装目录加入即可。
4.打开cmake开始进行编译操作
其中where is source code 里面填写存放opencv源文件的地方。下面那一行填写你编译后保存的地址。之后点击下方的configure按钮
之后弹出的里面设置如下;
选择c和c++编译器的地址:如下
C:/Qt/Tools/mingw730_32/bin/gcc.exe
C:/Qt/Tools/mingw730_32/bin/g++.exe
再点击finish之后开始编译。等待他完成之后:
会出现很多红色的警告,这是默认的配置。这时我们需要选中一些我们需要安装的组件.
在Search框内搜索QT和OPENGL,都打上勾
(
勾选 WITH_OPENGL
勾选 WITH_QT
不勾选 WITH_IPP
勾选OPENCV_ENABLE_NONFREE
不勾选 WITH_OPENCL_D3D11_NV
)
搜索EXTRA,出现OPENCV_EXTRA_MODILES_PATH。将F:/opencv/opencv-4.10/opencv_contrib-4.1.0/modules加入(即之前的contrib文件路径下。)之后。再次继续configure。
完毕之后需要检查一下下面设置
设置 QT_MAKE_EXECUTABLE 为 C:/Qt/5.12.3/mingw73_32\bin\qmake.exe(如果没有这一项请点击add entry 添加如下图:)
设置 Qt5Concurrent_DIR 为 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Concurrent
设置 Qt5Core_DIR 为 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Core
设置 Qt5Gui_DIR 为 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Gui
设置 Qt5Test_DIR 为C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Test
设置 Qt5Widgets_DIR 为 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5Widgets
设置 Qt5OpenGL_DIR 为 C:/Qt/5.12.3/mingw73_32/lib/cmake/Qt5OpenGL
设置 CMAKE_BUILD_TYPE 为 Release
之后configure直至红色完全消失之后点击Gnerate。
如上表示已经初步完成
5.接下来开始编译:
打开cmd 进入存放cmake编译后的文件,如下:
等待编译完成。
mingw32-make -j n(n代表cpu核数)
编译成功后如下,现在我们需要生成
接下来在cmd中继续输入 mingw32-make install之后跑完即可。
6.最后配置
最后opencv 库最终生成,将库环境添加进入系统环境变量path中
path:E:\LIB\opencv-4.1.0\install\x86\mingw\bin
7.测试:新建qt项目
打开qt creator之后,新建一个qt项目:
在.pro 文件中添加:
INCLUDEPATH +=E:\LIB\opencv-4.1.0\install\include
LIBS +=E:\LIB\opencv-4.1.0\install\x86\mingw\lib\libopencv_*.a
这两项即可。
代码和效果如下:
实现效果如图:
自此opencv配置完成:(吐血警告,个人机器内千万不要有两个及以上的mingw版本,否则编译期间会出现一堆bug,建议先删掉除qt自带的两个mingw,其他的可以在编译完之后需要使用的情况下再下载)
附:个人csdn下载链接:https://download.csdn.net/download/qq_38296005/11274286
另外因为版权问题opencv中的sift和surf算法模块在nonfree里面,上面链接的里面没有nonfree模块,需要nonfree模块https://download.csdn.net/download/qq_38296005/11274509
需要其他方式下载的请私聊本人。
吐血编译!