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

所属分类: 脚本专栏 / python 阅读数: 1427
收藏 0 赞 0 分享

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. 先不要退出,继续看下面

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

在这里插入图片描述

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)


在这里插入图片描述

或者找我要

7.点击Generate

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


在这里插入图片描述

安装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实现按学生年龄排序实际问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Python开发的HTTP库requests详解

Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP 20 的习语为中心开发的,所以它比urllib更加P
收藏 0 赞 0 分享

Python网络爬虫与信息提取(实例讲解)

下面小编就为大家带来一篇Python网络爬虫与信息提取(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

在python3环境下的Django中使用MySQL数据库的实例

下面小编就为大家带来一篇在python3环境下的Django中使用MySQL数据库的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Python 3.x读写csv文件中数字的方法示例

在我们日常开发中经常需要对csv文件进行读写,下面这篇文章主要给大家介绍了关于Python 3.x读写csv文件中数字的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
收藏 0 赞 0 分享

Python实现解析Bit Torrent种子文件内容的方法

这篇文章主要介绍了Python实现解析Bit Torrent种子文件内容的方法,结合实例形式分析了Python针对Torrent文件的读取与解析相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Python实现文件内容批量追加的方法示例

这篇文章主要介绍了Python实现文件内容批量追加的方法,结合实例形式分析了Python文件的读写相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

Python简单实现自动删除目录下空文件夹的方法

这篇文章主要介绍了Python简单实现自动删除目录下空文件夹的方法,涉及Python针对文件与目录的读取、判断、删除等相关操作技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

简单学习Python多进程Multiprocessing

这篇文章主要和大家一起简单的学习Python多进程Multiprocessing ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Python导入模块时遇到的错误分析

这篇文章主要给大家详细解释了在Python处理导入模块的时候出现错误以及具体的情况分析,非常的详尽,有需要的小伙伴可以参考下
收藏 0 赞 0 分享
查看更多