首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

模块“cv2.cv2”没有属性“xfeatures2d”,模块“cv2.cv2”没有属性“SIFT”

模块"cv2.cv2"没有属性"xfeatures2d"和模块"cv2.cv2"没有属性"SIFT"的问题是由于OpenCV库的版本问题引起的。

OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法。在旧版本的OpenCV中,SIFT(尺度不变特征变换)算法和xfeatures2d模块是默认可用的。然而,在新版本的OpenCV中,由于一些许可证限制,这些算法和模块被移除了。

解决这个问题的方法是使用新版本的OpenCV,并使用替代的算法和模块来实现相同的功能。以下是一些替代方案:

  1. SIFT算法的替代方案:由于SIFT算法受到专利限制,OpenCV提供了SURF(加速稳健特征)算法作为替代方案。您可以使用"cv2.xfeatures2d.SURF_create()"来创建SURF特征提取器。
  2. xfeatures2d模块的替代方案:在新版本的OpenCV中,xfeatures2d模块被移除了。相应的替代方案是使用"cv2.ORB_create()"创建ORB(Oriented FAST and Rotated BRIEF)特征提取器,它是一个快速且具有旋转不变性的特征提取器。

下面是一个示例代码,演示如何使用新版本的OpenCV和替代方案来解决该问题:

代码语言:txt
复制
import cv2

# 创建SURF特征提取器
surf = cv2.xfeatures2d.SURF_create()

# 创建ORB特征提取器
orb = cv2.ORB_create()

# 使用SURF或ORB进行特征提取和匹配
# ...

请注意,以上示例代码仅演示了如何使用替代方案来解决问题,实际使用时还需要根据具体需求进行参数调整和算法优化。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云图像处理(https://cloud.tencent.com/product/ivp)
  • 腾讯云人工智能(https://cloud.tencent.com/product/ai)
  • 腾讯云物联网(https://cloud.tencent.com/product/iotexplorer)
  • 腾讯云移动开发(https://cloud.tencent.com/product/mobdev)
  • 腾讯云存储(https://cloud.tencent.com/product/cos)
  • 腾讯云区块链(https://cloud.tencent.com/product/baas)
  • 腾讯云元宇宙(https://cloud.tencent.com/product/vr)
  • 腾讯云云原生(https://cloud.tencent.com/product/tke)
  • 腾讯云数据库(https://cloud.tencent.com/product/cdb)
  • 腾讯云服务器运维(https://cloud.tencent.com/product/cvm)
  • 腾讯云网络通信(https://cloud.tencent.com/product/vpc)
  • 腾讯云网络安全(https://cloud.tencent.com/product/ddos)
  • 腾讯云音视频(https://cloud.tencent.com/product/tiia)
  • 腾讯云软件测试(https://cloud.tencent.com/product/qcloudtest)
  • 腾讯云前端开发(https://cloud.tencent.com/product/webdev)
  • 腾讯云后端开发(https://cloud.tencent.com/product/apigateway)
  • 腾讯云云计算(https://cloud.tencent.com/product/cvm)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

anaconda安装opencv(whl文件)

没办法,只能尝试一下用第三方包whl文件安装下,因为原来没有用过这个方法,也不知道难不难,小心的去试了一下,没想到非常的容易!...之前只下了opencv包的时候,cv2.xfeatures2d.SIFT_create()函数用不了,报错了,提示说module ‘cv2.cv2’ has no attribute ‘xfeatures2d...,opencv-contrib-python包含了主要模块以及扩展模块,扩展模块主要是包含了一些带专利的收费算法(如sift特征检测)以及一些在测试的新的算法(稳定后会合并到主要模块)。...然后我的cv2.xfeatures2d.SIFT_create()函数能用了,程序能跑了,撒花 ---- 补充2: 下载自己需要的库的方法: 方法1(清华镜像、速度快): 之前下opencv库的时候发现了一个宝藏网页...https://pypi.org/project ---- 方法3(适用于库比较新,还没有whl文件的情况): 可以修改临时镜像源: pip install 库名称 -i 镜像源 pip install

4.9K20

解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

发现问题 当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2 就像这样: import cv2 as cv but… 码代码时竟然没有自动补全!!!...原来真正的实现opencv功能的cv2模块是在cv2/data文件夹下 而cv2下的_init_.py文件内描述的也很清楚 import importlib from .cv2 import * from...private" variables like __version__ # this makes them available globals().update(importlib.import_module('cv2...__dict__) 它的目的就是将cv2/data/下的真正的cv2功能模块放在cv2目录下,也就意味着 变成了这种形式:cv2/cv2 所以你在导入cv2模块儿时要这样做 ?...正确的做法 import cv2.cv2 as cv 自动提示的功能出现了。 ? CTRL+鼠标左键查看源码的功能也回来了。 ? 针对一些疑惑进行可能的解答,也不知道对不对。

4.6K50
  • 超详讲解图像拼接全景图原理和应用 | 附源码

    但是,这些功能需要具有一些特殊属性。 我们首先考虑一个简单的解决方案。 关键点检测 一开始可能使用简单些的方法,诸如使用Harris Corners之类的算法提取关键点。...我们知道,角点(corner)有一个很好的属性:它们对旋转是不变的。 这意味着,一旦我们检测到一个角点,如果我们旋转图像,那个角点仍将存在。 但是,如果我们旋转然后缩放图像怎么办?...这就是SIFT,SURF和ORB等更强大的方法的用武之地。 关键点和描述子 像SIFT和SURF这样的方法试图解决角点检测算法的局限性。...link time reference 解决方案:https://www.cnblogs.com/sunchaothu/p/9962675.html (2)AttributeError: module 'cv2....cv2' has no attribute 'xfeatures2d' 需要回退版本到3.4.2.16,记得要先卸载之前安装好的opencv-python 解决方案:https://blog.csdn.net

    9.6K56

    opencv3.4+contribute编译及官方自带samples编译

    opencv,昨天下午闲了,我是没想到一下子能编译成功的,因为之前用到sift的时候试了几次都不行,今天却是出奇的顺利,除了有一个小地方自己粗心填错路径之外,其他的都很顺利,因为没想到能配置成功,也就没有截图...2.2:打开属性列表 视图--其他窗口--属性管理器,然后可以在右边(随设置不同而不同)看到属性管理器,长这样: ?...测试 随便在网上找了一段sift的代码来测试,sift是在contrib里的,所以都可以测试一下。...#include"opencv2/xfeatures2d.hpp" using namespace cv; using namespace std; using namespace cv::xfeatures2d...sift匹配结果 如果没有报错且成功出现结果,那么就好好享受opencv的魔力吧,编译之后opencv的所有源码都是可见的,用到什么函数的时候不懂只要在函数名上右键跳转,就可以抵达源代码欣赏(被虐)了。

    2K10

    全面综述:图像特征提取与匹配技术

    关键点检测器光度和几何变化的不变性 在OPENCV库,我们可以选择很多特征检测器,特征检测器的选择取决于将要检测的关键点的类型以及图像的属性,需要考虑相应检测器在光度和几何变换方面的鲁棒性。...为了在OpenCV中使用SIFT,必须使用#include ,并且需要安装OPENCV_contribute包,注意一定要在Cmake选项中开启...int> &selectedPairs = std::vector(); // (Optional) user defined selected pairs indexes, xxx=cv::xfeatures2d...在实践中,几乎没有找到TP和FP的清晰明了的分离,因此,设置匹配阈值始终是平衡“好”与“坏”匹配之间的折衷。尽管在大多数情况下都无法避免FP,但目标始终是尽可能降低FP次数。...在第二个示例中,TP和FP曲线没有明显重叠,因此可以选择合适的鉴别器阈值。 ? 在该图中,您可以看到不同描述符(例如,SIFT,BRISK和其他几个描述符)的ROC曲线,并在视觉上进行比较。

    5.7K32

    OpenCV4系统化学习路线图(新版)

    四、opencv4比opencv3多了哪些OpenCV 4相较于OpenCV 3,主要增加了对SIFT与SURF的支持、改进了DNN模块、增加了对特定网络结构的支持、新增了DNN例程、以及功能提升...对SIFT与SURF的支持:在OpenCV 3中,SIFT与SURF的API调用文件是包含在扩展模块中的。...而在OpenCV 4中,如果想要使用SIFT与SURF,需要从源代码中通过CMake编译生成Python版本的安装包。...运行下载的exe文件进行安装2、环境变量设置:在系统属性的高级设置中,进入环境变量设置。在系统变量中,找到并编辑Path变量,添加OpenCV的路径。...在项目属性中,添加包含目录(Include Directories),库目录(Library Directories),以及必要的静态和动态链接库。

    22110

    一次搞定OpenCV源码及扩展模块的编译与环境配置

    的安装与扩展模块编译问题。...3、configure结束后如果没有出现报错,则点击generate,如果出现报错,需要先排除报错,可以先多试几次configure,直到不报错。 ?...2、配置包含目录 ① 打开VS2017,切换窗口为属性管理器 ? ②在属性管理器中按如下操作进入属性页 ? ③进入属性页后双击包含目录,点击右侧出现的角标进入编辑 ?...4、配置链接文件 打开属性页中链接器中的输入,将附加依赖项改为和自己的opencv版本匹配即可,完成后点击属性页下方的确定。...第四步:测试扩展模块 这里以扩展模块中常用的xfeature2D模块为例,调用包含其中的SIFT实现特征检测: ? 输出结果如下: ? 上述内容,如有侵犯版权,请联系作者,会自行删文。

    2.3K10

    合集教程 | 搞定各种OpenCV配置与源码编译问题

    微信公众号:OpenCV学堂 关注获取更多计算机视觉与深度学习知识 起因 我经常被问各种OpenCV开发环境文件,从OpenCV3到OpenCV4,从OpenCV源码编译到扩展模块编译,从SIFT支持到...OpenCV3 源码编译与SIFT支持代码演示 https://www.bilibili.com/video/av31462516 3....OpenCV3.4.1之后的版本到OpenCV4.4之前的版本你需要自己编译扩展模块获取支持,OpenCV4.4版本SIFT算法又回来了,不需要再编译!...原因是去年SIFT专利已经到期了 扩展模块中detect segment line算法怎么没有了? 原来作者不让用了,因为授权问题!...如果CMake失败就会导致后续VS生成有很多模块失败! 学习OpenCV哪个版本问题? 记得,如果没有特殊需求,建议学习OpenCV4,下载OpenCV4.x版本学习即可!

    1.1K20

    OpenCV的扩展包opencv_contrib的安装

    近日想使用OpenCV里面的诸如SIFT、SURF之类的特征提取算法,结果突然发现OpenCV3.0.0这里并没有书上讲的关于SIFT的函数。...如果是直接复制cv2.so文件到python的路径的话则会报“AttributeError: 'module' object has no attribute 'SIFT'”之类的错误。...README的解读 他这里的README很有意思,不仅介绍了他的安装方法,而且也介绍了为什么我们会把很多比较厉害的模块(比如SIFT,SURF等)单独放在一个地方,而不把他融入OpenCV的主体程序:...原来是因为这些模块的困难度比较大,而且使用的时候效果不太稳定,而发布版本(Release)则需要稳定性和可靠性;同时,这些模块的使用程度比较低,大多数的开发人员用不到这些包;况且这些模块是独立于主程序开发的

    85620

    计算机视觉 OpenCV Android | 特征检测与匹配 之 Feature2D中的检测器与描述子

    引言及特征点监测器 前面提到的SURF与SIFT特征检测器与描述子, 其实都是OpenCV扩展模块xfeature2d中的内容, 而在OpenCV本身包含的feature2d模块中也包含了几个非常有用的特征检测器与描述子...与SURF的,但在OpenCV3.x中,它们已经被移到扩展模块中了。...与SURF, 但其已经被移到扩展模块了,所以如果声明使用会抛出不支持的错误提示。...---- 简单介绍几种特征提取方法 在feature2d模块中同时具有特征点检测与描述子功能的方法有ORB、BRISK、AKAZE。 下面我们简单介绍一下这三种特征提取方法。...的一大好处是没有专利限制, 可以免费自由使用, 同时具有旋转不变性与尺度不变性。

    2K20

    LSH︱python实现局部敏感随机投影森林——LSHForestsklearn(一)

    学了python发现很多模块都能实现,而且通过随机投影森林让查询数据更快,觉得可以试试大规模应用在数据相似性检索+去重的场景。...第三组实验实验数据是google图片集,聚类算法使用AP聚类,用不同的局部特征描述法(ASIFT与SIFT)得到的聚类结果ASIFT局部特征描述得到的结果比SIFT方法在各项指标上都高10%以上。...详细的ASIFT与SIFT对比可见论文。 ....或者最小哈希搜索长度小于4也停止 random_state : int, RandomState instance or None, optional (default=None) 随机数生成器使用种子,默认没有...相关拓展: 相关属性获得 # 属性 lshf.trees_ # 每棵树,排序散列的哈希值 lshf.hash_functions_ # 每棵树的hash公式 lshf.original_indices

    2.4K80

    OpenCV(c++)-1 安装和配置OpenCV4.4(Windows+visual studio 2019)

    3、 配置环境变量 右键单击“我的电脑”,并选择【属性】,打开“系统”界面,如下图所示,在这一界面中选择【高级系统设置】,进入“系统属性”界面。 ?...3、依次单击界面上方的【视图】->【其他窗口】->【属性管理器】,在右侧会出现“属性管理器”界面,如图所示: ?...4、右键“Debug|x64”选择【添加新项目属性表】,添加后双击将其打开,如图所示: ?...在Windows中安装扩展opencv_contrib模块 安装该模块需要用CMake编译器,可以去官网下载对应安装包自行安装,这里就不再展开。...OPENCV_ENABLE_NONFREE”两个变量,勾上他们后面的方框(前一个变量含义是生成一个大的.lib文件,在配置连接器的时候就只有一个opencv_world440d.lib文件;后一个的意思是可以使用具有专利保护的算法,例如SIFT

    3.5K20

    【从零学习OpenCV 4】opencv_contrib扩展模块的安装

    安装完成基础模块后,已经可以满足大多数初学人员的正常使用。...然而有很多非常实用的功能并没有被集成在基础模块中,而是被放在了opencv_contrib扩展模块中,例如人脸识别、生物视觉、特征点提取等众多非常强大的功能。...扩展模块是对基础功能的补充,由于某些算法具有专利保护,无法放在基础模块中,而这部分算法却是学习图像处理常用的算法,例如,大名鼎鼎的有专利保护的SIFT特征点提取算法就在这个扩展模块中,虽然有专利,但是使用...第二个变量的含义是为了在编译成功后可以使用具有专利保护的算法,如果该变量不被选中,就不能使用例如SIFT算法在内的具有专利保护的算法,之后找到“OPENCV_EXTRA_MODULES_PATH”变量,...OpenCV基础模块没有区别。

    2K10
    领券