This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake
记录一下,
想利用opencv提取图片的SURF特征
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
detector = cv2.xfeatures2d.SURF_create(2000)
kps, des = detector.detectAndCompute(gray, None)
img = cv2.drawKeypoints(image = img, outImage = img, keypoints = kps, flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS, color=(255, 0, 0))
结果报错了
突如其来的错误让我有些猝不及防,百度一下。大多数帖子说是因为opencv和opencv-contrib版本太高已经通过专利保护,可以利用cmake编译opencv,也可以将opencv和opencv-contrib版本降到3.4.216(后面这个方法简单些,对小白比较友好)即可以用来提取SURF特征。
有了方法那么就开始尝试解决,直接卸载掉原来高版本的opencv和opencv-contrib。
pip uninstall opencv-python
pip uninstall opencv-contrib-python
愉快的卸载完后,那就是安装低版本的opencv与opencv-contrib,几行命令的事嘛!
pip install opencv-python==3.4.2.16
pip install opencv-contrib-python==3.4.2.16
但是事与愿违,终究没那么顺利。
由于查到的帖子都说上面的版本是ok的,但自己无论如何都安装不了,都显示没有匹配的版本。后面才知道是Python版本过高(3.8),无法安装3系列的opencv,于是就想着重新配一个3.7版本的python。
将python版本降低后,再安装3.4.2.16版本的opencv-python和opencv-contrib就没有任何问题了。
再运行上面那段python代码来提取图片SURF,也不会再报错了。运行的结果如下。
大家可以看我上一篇关于创建虚拟环境,并在pycharm中应用对应虚拟环境的方法。两篇相结合就可以方便快速的配置好所需版本的三方库了。
附上创建虚拟环境的链接:关于虚拟环境的创建,并添加到pycharm与jupyter中
This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake相关推荐
- SIFT: This algorithm is patented and is excluded in this configuration的解决办法
SIFT: This algorithm is patented and is excluded in this configuration的解决办法 出现问题: cv2.error: OpenCV( ...
- 图像特征点—SIFT特征点
图像特征点-SIFT特征点 关于SIFT特征点,以下三篇博客说的非常详细,再次不再赘述. https://mp.weixin.qq.com/s/XVB88f119gRqpwTTRvTyrA https ...
- Python3 AttributeError: module 'cv2' has no attribute 'SIFT'
参考 https://blog.csdn.net/yuxuan_08/article/details/87966840 在用python3使用sift = cv2.SIFT()进行SIFT时候,可能会 ...
- cv2.xfeatures2d.SIFT_create()时报错The function/feature is not implemented
cv2.xfeatures2d.SIFT_create()时报错The function/feature is not implemented 应该是新版本api改了, 解决方法1: 查找新版本api ...
- 【深度学习笔记】‘module‘ object has no attribute ‘xfeatures2d‘
3.X以后OpenCv只包含部分内容,需要神经网络或者其他的函数需要导入opencv_contrib 解决方法: pip install opencv-contrib-python 注意: 如果已经安 ...
- OpenCV库使用sift函数,出现“The function/feature is not implemented”问题解决方法
sift = cv2.xfeatures2d.SIFT_create(),提示如下错误: cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\open ...
- opencv_contrib4.4安装
opencv_contrib4.4安装 一.前言 安装好配置好OpenCV后,本以为可以好好的开始学习一下OpenCV了,没想到还有个opencv_contrib扩展模块,什么?原来安装的OpenCV ...
- opencv4.10不能使用sift = cv2.xfeatures2d.SIFT_create()
python3.6 报错: error: (-213:The function/feature is not implemented) This algorithm is patented and i ...
- 解决Error: Assertion failed (chunk.m_size <= 0xFFFF)和Set OPENCV_ENABLE_NONFREE CMake option问题
解决低版本opencv无法读取大容量视频和高版本opencv无法使用SIFT.SURF算法的问题. 解决了 Error: Assertion failed (chunk.m_size <= 0x ...
最新文章
- centos6.5-vsftp搭建
- 拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
- python笔记 print+‘\r‘ (打印新内容时删除打印的旧内容)
- 百度地图的两套JavaScript API
- Spark _22 _创建DataFrame的几种方式(一)
- spark MLlib平台的协同过滤算法---电影推荐系统
- 【转】Android Camera 相机开发详解
- 伪装 php 版本号,linux伪装隐藏Nginx,PHP版本号提升服务器安全性
- echarts3 graph java_Echarts中graph类型的运用求教
- python随机产生10个随机数_python(random模块)取10以内的随机数
- 分治法的关键特征_经典算法思想2——分治(Divide-and-Conquer)
- php rsa2 微博,微博登录分析
- 安装semantic-text-similarity
- ModelSim 入门使用教程
- 工控--常用编程软件
- 人工智能最前沿的技术视频,大量教程
- 京东联盟sdk php,京东联盟新增对接sdk,配置教程
- web前端如何才能成为架构师
- 【Python】爬虫爬取各大网站新闻(一)
- MATLAB 中的 mod() 函数
热门文章
- 日常工作笔记(持续更新中。。)
- 记一次李姐SpringBean的生命周期
- 国科大杭州高等研究院
- do-while语句逐字稿
- 埋点治理埋点回归实时埋点自动化离线数据监控-公开版
- hexo博客更换主题的方法
- Android 内置字体 medium,我在字体家族Android Studio中找不到sans-serif-medium
- 有理数加法要简化c语言编程,两个有理数相加(要求输入时以分数形式,输出时也以分数形式)...
- osgEarth的Rex引擎原理分析(一二六)rex瓦片组织方式
- 牛客寒假算法基础集训营3 非官方题解