Win10 下,使用 CMake + VS2015 + python3 + 第三方库(opencv_contrib) 配置和编译 OpenCV 4.5.1

导读

  仅记录供内部参考。

      本文将重点放在 编译第三方库 和 生成对应的 python 库(yd文件)上 。


目录
  1. 软件和源码准备
  2. 使用 CMake 生成 OpenCV 解决方案目
  3. 编译生成
  4. 参考链接
1、软件和源码准备

注:操作系统为 Windows 10

软件

Visual Studio 2015

Python 3.6.8

 CMake 工具

下载 opencv 源码

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]压缩包)

 

 

2、使用 CMake 生成 OpenCV 解决方案
操作步骤

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 完成方案的生成

 

 

相关 CMake 配置参数说明
  • 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

3、编译生成

打开解决方案 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                                                                                                                                                                             
4、参考链接

参考链接:

使用 CMake + VS2017 ( + Python 3) 配置和编译 OpenCV 3.3

python3.6安装numpy包笔记 

 

posted @ 2021-03-16 18:32  BensonLaur  阅读(1177)  评论(0编辑  收藏  举报