opencv4.1.0+contrib+cmake+qt编译与环
鉴于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
![](https://img.haomeiwen.com/i14095746/09984ea8406b7f25.png)
如上图,选择版本4.10,点击源代码进行下载,同时下载.doc文档的压缩包(查阅opencv4.10相关函数说明使用)。(另外这个里面有一个vc15的exe文件,是一个已经编译好的opencv试用与vs2017的库,由于本次需要同时编译拓展库,所以占不考虑它了。)拓展库类似选择opencv4.10版本,即两个库版本要一致。下载之后解压缩放置在一个文件夹下:
![](https://img.haomeiwen.com/i14095746/89cc2ecb62d7c64c.png)
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,即:
![](https://img.haomeiwen.com/i14095746/38b360bed429006a.png)
之后一直按照默认的next即可。勾选第二项的原因是安装之后不需要自己进行手动配置系统环境。
b.vs2019安装流程:按照默认选择使用c++桌面开发即可,如果有需要安装其他插件和组件请自行判断安装。
![](https://img.haomeiwen.com/i14095746/0b354a9aa44cdd55.jpg)
c.qt安装流程:点击安装包之后需要登陆,选择您之前注册的账号和密码进行登陆,登陆之后点击下一步,选择安装路径(这里不限),选择版本5.12.3:如图勾选基本组件:如果硬盘容量比较充足,建议将ming64位的也勾选上。如果硬盘容量不足,图中的sources以及qt debug information这两项可以选择不安装。
![](https://img.haomeiwen.com/i14095746/f0ca4817f558dfd7.jpg)
选中主要安装项目之后,需要安装一些tools:如下图:
![](https://img.haomeiwen.com/i14095746/e314eed3f85c2b8e.jpg)
之后点击下一步即可。预计安装包大小在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按钮
![](https://img.haomeiwen.com/i14095746/c8ac7f6dd04d1d17.jpg)
之后弹出的里面设置如下;
![](https://img.haomeiwen.com/i14095746/2649d82db6fdf5bb.jpg)
选择c和c++编译器的地址:如下
C:/Qt/Tools/mingw730_32/bin/gcc.exe
C:/Qt/Tools/mingw730_32/bin/g++.exe
![](https://img.haomeiwen.com/i14095746/201e47e07b056501.jpg)
再点击finish之后开始编译。等待他完成之后:
![](https://img.haomeiwen.com/i14095746/7a7d32a2ce387a41.jpg)
会出现很多红色的警告,这是默认的配置。这时我们需要选中一些我们需要安装的组件.
在Search框内搜索QT和OPENGL,都打上勾
(
勾选 WITH_OPENGL
勾选 WITH_QT
不勾选 WITH_IPP
不勾选 ENABLE_PRECOMPILED_HEADERS
勾选OPENCV_ENABLE_NONFREE
不勾选 WITH_OPENCL_D3D11_NV
关于TEST的都取消
)
搜索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 添加如下图:)
![](https://img.haomeiwen.com/i14095746/fd842b2e946d5b15.jpg)
设置 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。
![](https://img.haomeiwen.com/i14095746/6830d1cbc57d1da2.jpg)
如上表示已经初步完成
5.接下来开始编译:
打开cmd 进入存放cmake编译后的文件,如下:
等待编译完成。
![](https://img.haomeiwen.com/i14095746/2aed4b3a92f2ac9f.jpg)
mingw32-make -j n(n代表cpu核数)
编译成功后如下,现在我们需要生成
![](https://img.haomeiwen.com/i14095746/5701af9beb104214.jpg)
接下来在cmd中继续输入 mingw32-make install之后跑完即可。
6.最后配置
最后opencv 库最终生成,将库环境添加进入系统环境变量path中
path:E:\LIB\opencv-4.1.0\install\x86\mingw\bin
![](https://img.haomeiwen.com/i14095746/a4936248e14ccf66.jpg)
7.测试:新建qt项目
打开qt creator之后,新建一个qt项目:
![](https://img.haomeiwen.com/i14095746/3acec2d5b90e7fed.jpg)
在.pro 文件中添加:
INCLUDEPATH +=E:\LIB\opencv-4.1.0\install\include
LIBS +=E:\LIB\opencv-4.1.0\install\x86\mingw\lib\libopencv_*.a
这两项即可。
代码和效果如下:
![](https://img.haomeiwen.com/i14095746/e2c0a7b62c1612ef.jpg)
实现效果如图:
![](https://img.haomeiwen.com/i14095746/986daaaef4a341fc.jpg)
自此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
需要其他方式下载的请私聊本人。
吐血编译!