当前位置:   article > 正文

关于OpenCV中SIFT、SURF无法使用的解决方法_opencv 调用sift_create()

opencv 调用sift_create()

在opencv中,使用cv2进行创建SIFT、SURF对象时,会显示cv2中没有create()方法。具体解决方法如下:

更换python版本、opencv-python版本

如果python版本不是3.7,需要卸载当前版本的python

如果opencv版本不是3.4.2,需要卸载当前当前opencv-python和opencv-contrib-python第三方包(我个人只卸载了opencv-python)

这里需要注意,python版本要与opecv版本要匹配,否则在通过pip下载opencv时,无法在镜像文件中或者官网中找到opencv的3.4.2版本。

  1. pip uninstall opencv-python
  2. pip uninstall opencv-contrib-python

下载python3.7,在此版本下通过pip下载opcv-python3.4.2.16以及opencv-contrib-python3.4.2.16

  1. # 使用清华镜像文件
  2. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==3.4.2.16
  3. pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python==3.4.2.16
  4. # 直接install
  5. pip install opencv-python==3.4.2.16
  6. pip install opencv-contrib-python=3.4.2.16

  1. # 创建SIFT对象
  2. sift=cv2.xfeatures2d.SIFT_create()
  3. # opencv4.4.0以上的版本可以直接使用cv2.SIFT_create()
  1. # 创建SURF对象
  2. surf=cv2.xfeatures2d.SURF_create()
  3. # 我所遇到surf对象的创建是通过这种方式创建成功,python版本是3.7,opecv版本是3.4.2

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号