导言
在本文中,我们将介绍如何在 windows 系统下编译 opencv 和 opencv-contrib。opencv 是一个开源的计算机视觉库,它包含了许多图像处理和计算机视觉的功能。而 opencv-contrib 则是一个由社区贡献的额外功能模块,可以为 opencv 提供更多的功能。
环境准备在编译源码前,需要准备以下源码及环境,
OpenCV 源码OpenCV-contrib 源码Visual Studio 环境CMake 环境下面,将首先讲解如何获取编译源码所需的环境
源码获取首先,我们需要从 GitHub 上克隆 OpenCV 和 OpenCV-contrib 的源代码:
代码语言:javascript代码运行次数:0运行复制git clone https://github.com/opencv/opencv.gitgit clone https://github.com/opencv/opencv_contrib.git


然后,我们需要创建一个构建目录并进入该目录,source 中存放了 opencv 与 opencv_contrib 的代码,build 用来存放编译后的文件

编译源码需要 CMake 环境,CMake 链接下载如下:
https://cmake.org/download/
注意下载对应操作系统的 CMake。下载完成后进行安装,安装完成后,可以看到
CMake(cmake-gui)应用

之后获取 Visual Studio,获取链接如下:
https://visualstudio.microsoft.com/zh-hans/
下载适合您操作系统的 Visual Studio 安装即可。

打开 CMake GUI,在
Where is the source code中填写 opencv 源码,在
Where to build the binaries中填写 build 路径,点击
Configure,选择编译器,会弹出以下弹窗:
Specify the generator for this project设置为你电脑上的 Visual Studio,我这里是
Visual Studio 17 2022
Optional platform for generator设置为你的平台,我这里是
x64选项设置为
Use default native compilers
点击 Finish 后开始配置
在WINDOWS下,编译时的路径是WINDOWS安装目录。 ; 在命令行模式下,PHP.INI的查找路径可以用 -C 参数替代。 ; 该文件的语法非常简单。空白字符和用分号´;´开始的行被简单地忽略(就象你可能 ; 猜到的一样)。 章节标题(例如 : [FOO])也被简单地忽略,即使将来它们可能 ; 有某种的意义。 ; ;


配置
OPENCV_EXTRA_MODULES_PATH为你的
opencv_contrib下的
modules目录路径,再次点击
Configure,直到所有部分变白。


点击
Generate生成代码,在我的 build 目录下

生成的项目在 build 目录下,点击
OpenCV.sln,使用 Visual Studio 打开


选择
debug或
release,我这里选择 debug

点击 重新生成解决方案

编译完成后,提示 0 失败,如有失败,应排查错误

之后,点击
CMakeTargets中的
INSTALL,右键
INSTALL点击
仅用于项目,点击
仅生成 INSTALL。


生成成功即可:

本文介绍了如何在 Windows 系统下编译 OpenCV 和 OpenCV-contrib。希望本文能够帮助大家编译 OpenCV 和 OpenCV-contrib,更好地完成 OpenCV 的学习。









