当前位置:   article > 正文

解决module ‘cv2.cv2‘ has no attribute ‘xfeatures2d以及opencv-python和opencv-contrib-python的安装问题_module 'cv2' has no attribute 'hogdescriptor

module 'cv2' has no attribute 'hogdescriptor

如果你搜了文档也尝试各种方法都不能解决问题的话,那么看到这里该醒悟了

首先opencv在4.4.0以后可以使用免费使用sift了,但是我们学习肯定不止于此了,但是很遗憾包括最新版本也不能使用surf

如果你学习的是c或者c++语言,相信你可能已经在网上找了大神关于cmake以及vs等编译方法,但是我学的是python啊按照他们的方法都试了,结果依然不行

后来一想花那么长时间配置环境,还不如新建个虚拟环境将opencv降低版本不就好了吗

抱着这样的心态尝试了opencv各种版本,我去有的网友可以有的不可以,我的也不可以,没办法最后选择再降低版本

最后截止到现在尝试3.3.0.10这个版本可以

python -m pip install opencv-python==3.3.0.10
  • 1
python -m pip install opencv_contrib_python-3.3.0.10
  • 1

用以下代码尝试下吧

import cv2
import numpy as np
import matplotlib.pyplot as plt

#print(cv2.__version__)
#############尺度不变特征变换##################
img_bgr = cv2.imread("images/1.jpg")
img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)

plt.figure("sift")
sift = cv2.xfeatures2d.SIFT_create()
kp = sift.detect(img_bgr)
kp, des = sift.detectAndCompute(img_bgr, None)
img_kp = np.zeros_like(img_bgr)
img_kp = cv2.drawKeypoints(img_rgb, kp, img_kp)
plt.imshow(img_kp )


#################加速健壮特征###################
#相对于sift方法速度更快
plt.figure("surf")
surf = cv2.xfeatures2d.SURF_create()
kp = surf.detect(img_bgr)
img_kp = cv2.drawKeypoints(img_rgb, kp, img_kp)
plt.imshow(img_kp )

plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

最后提醒别花费太多时间配置环境了,提前学习知识,说不定到时候surf专利也到期了是吧!!!哈哈

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/874638
推荐阅读
相关标签
  

闽ICP备14008679号