目录
1 简介
在进行图像处理和计算机视觉相关开发时,OpenCV 是最常用的开源库之一。然而,OpenCV 官方默认仅提供了基于 MSVC(Microsoft Visual C++)编译的预编译版本,这对于习惯使用 MinGW(Minimalist GNU for Windows)或在 CLion 等跨平台 IDE 中进行开发的用户来说并不友好。为了在 MinGW 环境下顺利使用 OpenCV,我们通常需要自行从源码编译。本文将介绍如何使用 MinGW 工具链编译 OpenCV 源码,并配置一个适用于 MinGW 的 OpenCV 开发环境。
2 准备工作
2.1 OpenCV下载
这里可以看一下我以前发过的一篇博客OpenCV下载与配置(vistual studio 2022)_opencv库下载-CSDN博客
官网地址:OpenCV - Open Computer Vision Library
2.2 CMake下载
选择合适的版本在官网下载
官网地址:Download CMake
下载完成后解压缩到指定目录即可,等下需要用到。
2.3 MinGW下载
点击下载,下载完成后安装到指定位置即可,等下需要用他来编译opencv。
3 利用 Mingw 编译 OpenCV 源码
opencv 默认只提供了 msvc 编译的版本,在 build 目录下,源码文件在 sources。因此接下来,我们需要使用 mingw 来编译 opencv,首先在 opencv 的解压目录下新建一个文件夹 mingw,用来存放编译生成的文件。
然后打开D:\CMake\cmake-4.0.0-rc2-windows-x86_64\bin(这里的目录是下载cmake时我们选择的目录)目录下的 cmake-gui.exe,在 Where is the source code: 选择 opencv 下的 sources文件夹,而 Where to build the binaries: 选择前面创建好的 mingw文件夹
然后点击左下角的 Configure,在 Specify the generator for this project 中选择 MinGW Makefiles
然后点击Configure进行编译,在下载时速度较慢或者可能会失败,跟网速相关多试几次或者更换网络。
Configure 完成后,再点击右侧的 Generate
Generate 完成后,进入到 mingw 文件夹路径,打开cmd终端工具,执行命令 mingw32-make.exe 开始编译(在编译过程中可能会遇到一些警告,可以直接忽略)
然后执行安装,mingw32-make.exe install
可以看到,相关的文件都被拷贝到了 mingw\install 目录下,然后将目录D:\OpenCV\opencv\mingw\install\x64\mingw\bin 加入到系统环境变量中,到这里我们的编译基本完成了,已经可以调用 OpenCV 库了。
4 总结
通过本文的讲解,我们成功实现了在 MinGW 环境下从源码编译 OpenCV 的全过程,解决了官方仅提供 MSVC 编译版本带来的兼容性问题。这种方式不仅适用于希望在 CLion 等跨平台 IDE 中使用 OpenCV 的开发者,也为追求更高自由度和可定制性的用户提供了灵活的构建方案。虽然过程中可能会遇到配置和网络相关的小问题,但一旦成功编译并安装,便可以在 MinGW 环境下无缝地使用 OpenCV 进行开发。