mingw编译opencv+contrib
时间: 2023-08-31 20:03:18 浏览: 158
编译OpenCV Contrib需要使用MinGW编译器。下面是一个基本的步骤指南:
1. 下载和安装MinGW编译器。你可以从MinGW官方网站下载MinGW安装程序,并按照指示进行安装。
2. 下载并解压OpenCV Contrib源代码。你可以从OpenCV官方网站下载OpenCV Contrib的源代码。将其解压到一个方便的位置。
3. 打开命令行终端,并进入到MinGW安装目录的bin文件夹。例如,在默认安装情况下,你可以输入以下命令:
```
cd C:\MinGW\bin
```
4. 在MinGW安装目录的bin文件夹下,使用以下命令设置编译器环境变量:
```
mingw32.bat
```
5. 返回到OpenCV Contrib源代码的根目录,并创建一个新的文件夹,用于构建编译产生的文件。例如,你可以输入以下命令:
```
mkdir build
cd build
```
6. 使用CMake生成Makefile。在命令行终端中输入以下命令:
```
cmake -G "MinGW Makefiles" ..
```
7. 使用Make命令编译OpenCV Contrib。在命令行终端中输入以下命令:
```
make
```
8. 当编译完成时,会在build文件夹中生成OpenCV Contrib库文件。
这些是基本的步骤,可以用于使用MinGW编译OpenCV Contrib。请记住,编译过程可能需要一些时间,具体取决于你的系统配置和OpenCV Contrib的版本。如果在编译过程中遇到错误,请参考相关错误信息并搜索解决方案。
相关问题
Qt、MinGw编译OpenCV 4.5.4(包含opencv_contrib)详细过程
### 使用 Qt 和 MinGW 编译 OpenCV 4.5.4 (含 opencv_contrib) 的完整步骤
#### 准备工作
确保已安装以下工具和环境:
- CMake 版本应高于 3.13[^1]
- Git 客户端用于克隆仓库
- Python 及其开发包,因为某些模块依赖于 Python 构建脚本
- Visual Studio 或者 MinGW 工具链来提供编译器支持;这里选择 MinGW。
#### 下载必要的资源
下载并解压官方发布的 OpenCV 4.5.4 源码以及对应的 `opencv_contrib` 扩展模块:
```bash
git clone https://github.com/opencv/opencv.git -b 4.5.4 --depth=1
git clone https://github.com/opencv/opencv_contrib.git -b 4.5.4 --depth=1
```
#### 配置构建选项
创建一个新的目录作为构建输出路径,并进入该目录执行配置命令。这一步骤会生成适用于 Windows 平台下的 Makefile 文件:
```bash
mkdir build && cd build
cmake -G "MinGW Makefiles" ^
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ^
-DCMAKE_BUILD_TYPE=Release ^
..
```
上述命令指定了额外的模块路径 `-DOPENCV_EXTRA_MODULES_PATH` 来指向 `opencv_contrib` 中的 modules 文件夹位置[^3]。
#### 开始编译过程
运行 make 命令启动实际的编译流程,在此之前可以调整线程数加快速度(例如使用 `-j8` 参数表示同时开启八个进程参与编译)。对于大型项目来说,这个阶段可能耗时较长取决于计算机性能状况:
```bash
mingw32-make -j$(nproc)
```
完成之后继续安装操作以便将生成的目标文件复制到指定的位置上:
```bash
mingw32-make install
```
此时应该可以在系统的默认安装路径下找到新版本的 OpenCV 库及其头文件了。
#### 设置 Qt Creator 环境变量
为了让 QtCreator 能够识别刚刚编译好的静态链接库与相应的 include 头文件,需要修改项目的 .pro 文件加入如下设置项[^2]:
```qmake
INCLUDEPATH += D:/path/to/OpenCV/install/include \
LIBS += -LD:/path/to/OpenCV/lib \
-LIBS += -lopencv_core454 -lopencv_imgcodecs454 ...
```
注意替换上面路径中的具体部分为真实的本地磁盘地址。
#### 测试验证
编写简单的测试程序确认一切正常运作无误:
```cpp
#include <QCoreApplication>
#include <opencv2/opencv.hpp>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
cv::Mat image = cv::imread("test.jpg");
if(image.empty()){
qDebug() << "Could not open or find the image";
return -1;
}
cv::imshow("Display window", image);
int k = cv::waitKey(0); // Wait for key press
return a.exec();
}
```
阅读全文
相关推荐













