Win10 下,使用 CMake + VS2015 + python3 + 第三方库(opencv_contrib) 配置和编译 OpenCV 4.5.1
导读 |
仅记录供内部参考。 本文将重点放在 编译第三方库 和 生成对应的 python 库(yd文件)上 。 |
注:操作系统为 Windows 10
Visual Studio 2015
Python 3.6.8
CMake 工具
https://github.com/opencv/opencv.git
https://github.com/opencv/opencv_contrib.git
组织内部使用:(外部参考文章者可忽略)
https://gitee.com/kingstoneai/opencv.git
https://gitee.com/kingstoneai/opencv_contrib.git
(另外还有解决 网络问题,提前下载好的 [opencv/.cache]压缩包)
1、使用 CMake (gui) 打开 opencv\CMakeLists.txt,置构建输出的目录
2、点击 Configure 开始配置,指定项目生成器目标为 “Visual Studio 14 2015 Win64” (这里希望生成 64 位的版本)
3、如果出现如下错误,忽略(该提示 提到 配置 PYTHON2_EXECUTABLE 选项,这里使用 python3 )
4、下载文件失败错误(这个是由于脚本中下载的地址是 github,而这个被墙了)
解决办法:根据 log 文件提示,自己下载对应的文件,放置到对应提示的目录位置
文件自行下载。
组织内部可快捷下载我先下好的 文件(百度云盘,提取码1234)(外部参考文章者可忽略)
下载完成后,放入 opencv/.cache 目录下对应的位置后,再点击 Configure, 可看到相关的下载错误提示消失了
-------------------------------------------------------------------------------------
本文重点内容: 编译第三方库 和 生成对应的 python 库(yd文件)
5、设置对应的第三方库目录
这里只希望编译 wechat_qrcode 模块,设置 额外模块路径为 modules/ wechat_qrcode (如果希望编译所有额外的 库,可以指定 modules 目录)
6、设置 python3 相关参数
(一开始参考一篇博客填写 PYTHON3_LIBRARY 为 python36.dll, 后续编译出错了,这里应该填写 D:/development/python/python368/Libs/python36.lib 才对)
其中的 numpy 是一个拓展数学计算库,需要先提前安装:
下载完成后,按建议,将 Scripts 目录加到环境变量
配置完后,点击 configure,确认 python3 是否已经被识别(如果没有出现 Build_pencv_python3 ,请重新清空 缓存,删除生成的目录,重新 配置,直到出现)
7、设置其他参数
勾选 BUILD_opencv_world:将.lib或者.dll文件统一整合进一个world文件中,方便使用
去除一些下一节提到的 “不建议勾选的项”
8、其他忽略的提示:
遇到如下提示,忽略即可:(参考https://zhuanlan.zhihu.com/p/106689372 第五步)
9、最后,检查配置内容,点击 Generate 完成方案的生成
- BUILD_opencv_world :将.lib或者.dll文件统一整合进一个world文件中,方便使用。但若想只使用一部分模块可不勾选以减少体积。生成动态链接库dll需要勾选BUILD_SHARED_LIBS 。
- ENABLE_CXX11 : 支持C++11特性
- OPENCV_EXTRA_MODULES_PATH :若使用opencv_contrib模块,则在此处填写解压后的路径,如 …\opencv_contrib-3.3.1\modules\
- BUILD_EXAMPLES :项目文件中会包含sample工程,按需勾选。
- INSTALL_C_EXAMPLES :将在install文件夹中编译出一些示例程序(但都是.exe,因此想参考最好还是看sources中的源代码)
- BUILD_DOCS :生成文档,需要安装Doxygen,文档可在官网查看。
- BUILD_opencv_ts :一些单元测试代码,参考文章1 。
- INSTALL_TESTS :与开发无关,参考文章1 。
- BUILD_opencv_saliency :文章2 中指出win10下不能勾选,但实际上并未发现此项。
文章1 中还提供了很多模块及项目的解释,可根据自己需要修改。
————————————————
原文链接:https://blog.csdn.net/howlclat/article/details/78783701
打开解决方案 OpenCV.sln
如下图,批量构建:
根据电脑配置,等待30分钟至1个小时编译。
编译结果:
值得注意的是,这里 pyd 生成时,release 下可以正常生成
debug 下这边提示错误(该点可参考文章解决:https://www.cnblogs.com/lzhu/p/8198654.html)
编译完成后,构建 INSTALL 项目,完成安装:
百度云盘:opencv-4.5.1-vc14-wechat_qrcode.zip 提取码:1234
构建说明:
opencv 构建节点:
commit 1363496c1106606684d40447f5d1149b2c66a9f8 (HEAD -> v4.5.1-dev, tag: 4.5.1, gitee/v4.5.1, v4.5.1)
Author: Alexander Alekhin <alexander.a.alekhin@gmail.com>
Date: Mon Dec 21 20:01:38 2020 +0000
|
opencv_contrib 构建节点:
commit 0165d48da48b169420cd4d70867b991bd48543e8 (HEAD -> master, origin/master, origin/HEAD, gitee/master)
Author: Dimitrios Psychogyios <d.psychogyios@gmail.com>
Date: Mon Mar 1 11:52:49 2021 +0000
|
参考链接:
使用 CMake + VS2017 ( + Python 3) 配置和编译 OpenCV 3.3
版权声明 本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者 BensonLaur 和本文原始地址: https://www.cnblogs.com/BensonLaur/p/14544149.html |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端