记录一下,
想利用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相关推荐

  1. 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( ...

  2. 图像特征点—SIFT特征点

    图像特征点-SIFT特征点 关于SIFT特征点,以下三篇博客说的非常详细,再次不再赘述. https://mp.weixin.qq.com/s/XVB88f119gRqpwTTRvTyrA https ...

  3. Python3 AttributeError: module 'cv2' has no attribute 'SIFT'

    参考 https://blog.csdn.net/yuxuan_08/article/details/87966840 在用python3使用sift = cv2.SIFT()进行SIFT时候,可能会 ...

  4. cv2.xfeatures2d.SIFT_create()时报错The function/feature is not implemented

    cv2.xfeatures2d.SIFT_create()时报错The function/feature is not implemented 应该是新版本api改了, 解决方法1: 查找新版本api ...

  5. 【深度学习笔记】‘module‘ object has no attribute ‘xfeatures2d‘

    3.X以后OpenCv只包含部分内容,需要神经网络或者其他的函数需要导入opencv_contrib 解决方法: pip install opencv-contrib-python 注意: 如果已经安 ...

  6. OpenCV库使用sift函数,出现“The function/feature is not implemented”问题解决方法

    sift = cv2.xfeatures2d.SIFT_create(),提示如下错误: cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\open ...

  7. opencv_contrib4.4安装

    opencv_contrib4.4安装 一.前言 安装好配置好OpenCV后,本以为可以好好的开始学习一下OpenCV了,没想到还有个opencv_contrib扩展模块,什么?原来安装的OpenCV ...

  8. opencv4.10不能使用sift = cv2.xfeatures2d.SIFT_create()

    python3.6 报错: error: (-213:The function/feature is not implemented) This algorithm is patented and i ...

  9. 解决Error: Assertion failed (chunk.m_size <= 0xFFFF)和Set OPENCV_ENABLE_NONFREE CMake option问题

    解决低版本opencv无法读取大容量视频和高版本opencv无法使用SIFT.SURF算法的问题. 解决了 Error: Assertion failed (chunk.m_size <= 0x ...

最新文章

  1. centos6.5-vsftp搭建
  2. 拒绝DNN过拟合,谷歌准确预测训练集与测试集泛化差异,还开源了数据集 | ICLR 2019...
  3. python笔记 print+‘\r‘ (打印新内容时删除打印的旧内容)
  4. 百度地图的两套JavaScript API
  5. Spark _22 _创建DataFrame的几种方式(一)
  6. spark MLlib平台的协同过滤算法---电影推荐系统
  7. 【转】Android Camera 相机开发详解
  8. 伪装 php 版本号,linux伪装隐藏Nginx,PHP版本号提升服务器安全性
  9. echarts3 graph java_Echarts中graph类型的运用求教
  10. python随机产生10个随机数_python(random模块)取10以内的随机数
  11. 分治法的关键特征_经典算法思想2——分治(Divide-and-Conquer)
  12. php rsa2 微博,微博登录分析
  13. 安装semantic-text-similarity
  14. ModelSim 入门使用教程
  15. 工控--常用编程软件
  16. 人工智能最前沿的技术视频,大量教程
  17. 京东联盟sdk php,京东联盟新增对接sdk,配置教程
  18. web前端如何才能成为架构师
  19. 【Python】爬虫爬取各大网站新闻(一)
  20. MATLAB 中的 mod() 函数

热门文章

  1. 日常工作笔记(持续更新中。。)
  2. 记一次李姐SpringBean的生命周期
  3. 国科大杭州高等研究院
  4. do-while语句逐字稿
  5. 埋点治理埋点回归实时埋点自动化离线数据监控-公开版
  6. hexo博客更换主题的方法
  7. Android 内置字体 medium,我在字体家族Android Studio中找不到sans-serif-medium
  8. 有理数加法要简化c语言编程,两个有理数相加(要求输入时以分数形式,输出时也以分数形式)...
  9. osgEarth的Rex引擎原理分析(一二六)rex瓦片组织方式
  10. 牛客寒假算法基础集训营3 非官方题解