一. 背景
当前维护的项目在 Windows 操作系统下运行,并使用了 OpenCV 4.5.2 版本。
我的本地开发环境是 Mac,并且使用了更新的 OpenCV 4.8.1 版本。为了与本地开发环境保持一致,我计划升级项目中使用的 OpenCV,因为该项目还利用了一些扩展模块的功能,因此需要自行编译。
本文旨在记录我在编译过程中遇到的问题,以避免以后重蹈覆辙,并为有需要的人提供参考。
二. 需要准备的软件
CMake 3.13 或更高版本,获取地址为:https://www.php.cn/link/fa6d3cc166fbfbf005c9e77d96cba283

Visual Studio 2022 社区版,获取地址为:https://www.php.cn/link/5fa260f9aef5c32cc0ddf4934f058bdf
OpenCV 4.8.1 源码包,获取地址为:https://www.php.cn/link/8226961a64e331581440a90183cf0a1d

OpenCV 4.8.1 扩展模块源码包,获取地址为:https://www.php.cn/link/0a8d0a30ada365aee33dbf72fda7574e

三. 编译
3.1 使用 CMake
3.1.1 准备工作
将 OpenCV 4.8.1 源码包和扩展模块源码包解压到某个位置。

打开 cmake-gui,设置 OpenCV 4.8.1 源码的位置和输出编译的二进制文件的位置。

3.1.2 Configure
点击”Configure”,会弹出一个窗口提示 build 目录尚未创建,是否需要创建。

点击”Yes”后,CMake 会要求你选择生成项目的工具。我们选择 Visual Studio 2022。

“Configure”配置成功后,会显示以下界面。

此时,我们可以设置扩展模块的路径。

如果需要编译 OpenCV World 模块,也需要在这里单独设置。

LM Studio
LM Studio 是一个桌面应用程序,可以在本地计算机上运行 LLM大语言模型。
156 查看详情
然后再次点击”Configure”。

此时,最好查看 CMake 的下载日志,以下是 CMake 的下载日志。

我主要修改了以下几个地方:
之后重新”Configure”即可。
3.1.3 Generate
接下来,点击”Generate”生成使用 CMake 构建的项目。

3.1.4 Open Project
最后点击”Open Project”,启动 Visual Studio 2022 打开该项目。

3.2 使用 Visual Studio 2022
在编译之前,首先配置 opencv_world 模块,然后选择 release 或 debug 模式。

找到 CMakeTargets,选择 ALL_BUILD 进行生成。

上述步骤生成成功后,选择 INSTALL 进行生成。

INSTALL 生成成功后,编译过程大功告成。我们完成了 OpenCV 4.8.1 及其扩展模块的编译。

我们可以在输出编译的二进制文件的目录(C:/opencv-4.8.1/newbuild)下找到 install 文件夹。

install 文件夹最终输出的内容如下。

我们也成功编译了 opencv_world 模块。

四. 总结
本文旨在便于日后查阅和查找。
整个编译过程花费了一天多才完成。编译时遇到了各种问题,但只要仔细阅读日志进行分析,总能找到解决方法。
当然,自行编译 OpenCV 库有很多好处,可以根据自己的需要定制 OpenCV 库,可以针对特定的硬件平台优化 OpenCV 库等等。
以上就是Windows 下使用 CMake + Visual Studio 2022 编译 OpenCV 4.8.1 及其扩展模块的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/425634.html
微信扫一扫
支付宝扫一扫