CMake+MinGW编译OpenCV和opencv_contrib
### CMake+MinGW编译OpenCV和opencv_contrib #### 背景介绍 本篇文章主要介绍了如何使用CMake 3.11.2与QT 5.8.0来编译OpenCV 3.4.1及其附加模块opencv_contrib 3.4.1的方法。OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库,它提供了数百个计算机视觉算法。而opencv_contrib则是OpenCV官方维护的一个扩展模块集合,包含了更多实验性的功能和算法。 #### 编译前准备 在开始编译之前,我们需要完成以下准备工作: 1. **下载OpenCV** 和 **opencv_contrib**,确保它们的版本均为3.4.1。 2. **下载并安装QT 5.8.0**。 3. **下载CMake 3.11.2**。 #### 编译步骤 ##### 使用CMake配置项目 1. **启动CMake**:打开CMake GUI,界面如文章中所展示。 2. **指定源代码和构建目录**:设置源代码路径(OpenCV源代码位置)和构建路径。 3. **配置OpenCV附加模块路径**:通过设置`OPENCV_EXTRA_MODULES_PATH`属性,指定`opencv_contrib/modules`的路径。 4. **配置编译器**:选择`MinGW Makefiles`作为生成器。 5. **点击Configure**:进行配置检查,可能需要多次点击直至没有错误提示。 6. **点击Generate**:生成用于MinGW的Makefiles。 ##### 进行编译 1. **打开编译输出目录**:本文中提到的输出目录为`G:\OpenCV\opencv\sources-build`。 2. **打开命令行窗口**:在该目录下按住Shift键并右击,选择“在此处打开命令窗口”或直接打开命令提示符。 3. **执行编译命令**:输入`mingw32-make`或其完整路径来启动编译过程。编译过程可能会持续一段时间。 4. **安装编译结果**:编译成功后,在同一目录下输入`mingw32-make install`来安装编译好的库文件。 #### 常见问题及解决方法 1. **编译过程中出现的链接错误**: - **问题描述**:在编译cv2.cpp文件时,可能出现缺少数学头文件的错误。 - **解决方案**:在`G:\OpenCV\opencv\sources\modules\python\src2`目录下的`cv2.cpp`文件中,找到`#include<Python.h>`这一行,并在其上方加入`#include"math.h"`。 - **重新编译**:修改后重新执行`mingw32-make`命令完成编译。 2. **QT集成OpenCV后运行时出现问题**: - **问题描述**:运行程序时可能会遇到“exited with code -1073741515”的错误。 - **解决方案**:将OpenCV编译后生成的`bin`目录添加到系统环境变量中。通常,该目录位于`G:\OpenCV\opencv\sources-build\install\bin`。 #### 结论 通过以上步骤,我们能够成功地使用CMake 3.11.2、QT 5.8.0来编译OpenCV 3.4.1和opencv_contrib 3.4.1,获得适用于MinGW的库文件。此外,文中还详细介绍了编译过程中可能遇到的一些常见问题及其解决方法,这对于开发者来说非常实用。在整个编译过程中,需要注意的是保持各个软件版本的一致性以及正确配置CMake的相关选项,这有助于减少编译过程中的错误和提高编译效率。
剩余11页未读,继续阅读
- leyiweb2018-06-05我以为是编译好的文件
- 我是标同学2018-06-09我也以为是编译好的文件,有没有谁有编译好的,联系我
- 粉丝: 33
- 资源: 18
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助