python 下 CMake 安装配置 OPENCV 4.1.1的方法


Posted in Python onSeptember 30, 2019

CMake 安装配置 OPENCV 4.1.1 解决各种问题

方法一

python 可以直接pip install opencv-contrib-python==3.4.x.x 安装,老版本的库包含SIFT等算法。但是,python不支持GPU的,对于JAVA等其他语言想调用opencv或者想使用更更高级的算法,那么还是必须得安装更高版本,下面介绍另外一种方法.

这个方法不提供SIFT和 SURF算法,因为这两个算法申请了专利,所有主要通过CMake设置OPENCV_ENABLE_NONFREE 选项才能使用这两个功能(有专利,所以不要商用)。

方法二 Building OpenCV from source

目前opencv 已经更新到4.1.1版本了,编译好或者可执行文件是不带有SIFT专利算法,这些算法已经从opencv基本库剥离出去,单独成一个source文件,需要通过CMAKE工具加载到环境中。

环境准备:

  • Visual Studio 2015最后一个升级版本,或者2017甚至更高。安装的时候必须勾选C编译器,不然会找不到
  • CMake配置过程中需要下载一些配置文件,速度极其慢,时常短线。如果下载不下来可以找我,后期我会分享到百度网盘上,免费提供。

1.下载: Visual Studio 2015(去MSDN下载2015最后一个升级版本,社区版就行,低级版本会存在编译失败)和 CMake 两个软件

2.下载 python 和 Numpy库,也可以下载Anaconda 免去库安装编译麻烦(我用的Anaconda)。(OpenCV 的所有数组结构都转化为了Numpy 数组格式, Numpy还是挺优秀的)

3.安装CMake, 解压 opencv source

4.CMake 设置

source code 只想你解压的OpenCV 代码根路径

  1. 在路径下创建一个build文件夹,用于存放构建的二进制文件
  2. 然后会弹出一个窗口,让你配置VS版本,并选择系统win32还是x64(默认win32,需要根据电脑系统进行修改,我改成x64)
  3. 点击configure 然后opencv就开始构建了
  4. 先不要退出,继续看下面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

python 下 CMake 安装配置 OPENCV 4.1.1的方法

5.然后中间区域就是构建的信息(简单看一下,我选择默认配置)

  • WITH区域 可以选择你需要的额外功能,是不是支持GUDA等
  • BUILD区域,可以配置构建方法
  • OpenCV-python 不支持GPU,所以可以取消相关操作

6.由于最新的OpenCV版本只包含稳定的算法和不收费的算法,像SIFT和SURF这些有专利的算法,需要另行安装

  1. 在刚才的CMake界面找到OPENCV_EXTRA_MODULES_PATH 修改如下图所示:
  2. 再次点击Configure, 可以看到xfeatures2d这些功能正在加载,偶尔会存在download失败,只能省略两个字(网上也有一些其他手动方法,鉴于后边失败的较多,建议还是,)
  3. 手动下载(其他找起来太费劲了) ippicv_2019_win_intel64_20180723_general.zip
  4. 安装,参见博客opencv 解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz
  5. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WZRJQVin-1569740558974)

python 下 CMake 安装配置 OPENCV 4.1.1的方法

或者找我要

7.点击Generate

8.到D:/WORK/OpenCVconf/opencv-4.1.1/build目录下,打开OpenCV.sln文件,官方文档建议releaseALL BUILD生成, 然后生成一下INSTALL生成

python 下 CMake 安装配置 OPENCV 4.1.1的方法

安装opencv-contrib

这里面包含SIFT等收费算法,需要在CMake设置以下内容:

CMake软件设置OPENCV_EXTRA_MODULES_PATH指向opencv-contrib 的modules文件夹70)

OPENCV_ENABLE_NONFREE 勾选,然后点击configure,generate,然后再重新生成,就OK了。

若再有失败,就BUILD选区取消勾选相关项目

总结

  • 主要问题在于Visual studio版本太过低级
  • CMake下载一些配置文件失败,必须能够
  • Fwall不要额外勾选安装不需要的配置

以上所述是小编给大家介绍的python 下 CMake 安装配置 OPENCV 4.1.1的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python复制目录结构脚本代码分享
Mar 06 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
python使用插值法画出平滑曲线
Dec 15 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 Python
pyqt5中动画的使用详解
Apr 01 Python
基于SpringBoot构造器注入循环依赖及解决方式
Apr 26 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
详解Python中Pyyaml模块的使用
Oct 08 Python
Python Django ORM连表正反操作技巧
Jun 13 Python
Python3 翻转二叉树的实现
Sep 30 #Python
ubuntu上安装python的实例方法
Sep 30 #Python
python多进程并行代码实例
Sep 30 #Python
Python3实现二叉树的最大深度
Sep 30 #Python
给我一面国旗 python帮你实现
Sep 30 #Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 #Python
感知器基础原理及python实现过程详解
Sep 30 #Python
You might like
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
PHP5/ZendEngine2的改进
2006/10/09 PHP
PHP安装问题
2006/10/09 PHP
php面向对象的方法重载两种版本比较
2008/09/08 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
smarty获得当前url的方法分享
2014/02/14 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
JavaScript写的一个DIV 弹出网页对话框
2009/08/14 Javascript
js下利用控制器载入对应脚本
2010/07/17 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
2017/08/08 jQuery
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Django开发中的日志输出的方法
2018/07/02 Python
python 用下标截取字符串的实例
2018/12/25 Python
3种python调用其他脚本的方法
2020/01/06 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
python 对象真假值的实例(哪些视为False)
2020/12/11 Python
css3中用animation的steps属性制作帧动画
2019/04/25 HTML / CSS
2013年高中生自我评价
2013/10/23 职场文书
产品工艺师的岗位职责
2013/11/15 职场文书
教师辞职报告范文
2014/01/20 职场文书
教学器材管理制度
2014/01/26 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
感谢信怎么写
2015/01/21 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
Beekeeper Studio开源数据库管理工具比Navicat更炫酷
2022/06/21 数据库