python 下 CMake 安装配置 OPENCV 4.1.1的方法
作者:搞计算机的数学生 时间:2022-04-04 07:45:21
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 代码根路径
在路径下创建一个build文件夹,用于存放构建的二进制文件
然后会弹出一个窗口,让你配置VS版本,并选择系统win32还是x64(默认win32,需要根据电脑系统进行修改,我改成x64)
点击configure 然后opencv就开始构建了
先不要退出,继续看下面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
5.然后中间区域就是构建的信息(简单看一下,我选择默认配置)
WITH区域 可以选择你需要的额外功能,是不是支持GUDA等
BUILD区域,可以配置构建方法
OpenCV-python 不支持GPU,所以可以取消相关操作
6.由于最新的OpenCV版本只包含稳定的算法和不收费的算法,像SIFT和SURF这些有专利的算法,需要另行安装
在刚才的CMake界面找到OPENCV_EXTRA_MODULES_PATH 修改如下图所示:
再次点击Configure, 可以看到xfeatures2d这些功能正在加载,偶尔会存在download失败,只能省略两个字(网上也有一些其他手动方法,鉴于后边失败的较多,建议还是,)
手动下载(其他找起来太费劲了) ippicv_2019_win_intel64_20180723_general.zip
安装,参见博客opencv 解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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的方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://blog.csdn.net/u011543072/article/details/101694206
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用PHP生成二维码的两种方法(带logo图像)
jQuery 1.3的VS智能提示下载
![](https://img.aspxhome.com/file/UploadPic/20091/18/ysc7nc_jquery_1-68s.gif)
打败 IE 的葵花宝典:CSS Bug Table
![](https://img.aspxhome.com/file/UploadPic/20108/3/ie_bug_table-28s.jpg)
Selenium chrome配置代理Python版的方法
Python自动扫雷实现方法
Python编程调用百度API实现地理位置经纬度坐标转换示例
![](https://img.aspxhome.com/file/2023/6/69566_0s.jpg)
Python音乐爬虫完美绕过反爬
![](https://img.aspxhome.com/file/2023/5/89215_0s.png)
960网格系统
![](https://img.aspxhome.com/file/UploadPic/20092/17/960-grid-system-092-54s.jpg)
MySQL表设计优化与索引 (九)
SQL+HTML+PHP 一个简单论坛网站的综合开发案例(注册、登录、注销、修改信息、留言等)
![](https://img.aspxhome.com/file/2023/5/55525_0s.png)
浅谈php自定义错误日志
ASP FSO生成静态htm页面简单代码
python中range()与xrange()用法分析
![](https://img.aspxhome.com/file/2023/2/97272_0s.png)
四大因素扼杀了中国人的创造力
中秋快到了利用python画个月亮和月饼
![](https://img.aspxhome.com/file/2023/1/96451_0s.png)
Python切换pip安装源的方法详解
![](https://img.aspxhome.com/file/2023/8/72198_0s.png)
基于javascript如何传递特殊字符
Python类中__init__() 和self的详细解析
![](https://img.aspxhome.com/file/2023/7/82647_0s.png)