首页 > TAG信息列表 > xfeatures2d
module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘ 错误解决
首先解决基础性问题: 使用的 opencv-python 需低于 3.4.3确保安装 opencv-contrib-python 库 pip install opencv-contrib-python==(与 opencv-pyhton 一致) 在 opencv3 中的调用方法为 cv2.xfeatures2d.SIFT_create() 网上博客大多是换成 3.4.1.15 和 3.4.2.16 两个版本,但是module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘ 报错解决方案
cv2.xfeatures2d.SIFT_create() 本来计划使用cv2调用SIFT算法,对图片进行特征提取,但不断给我报错。 opencv-contrib-python只能是这个版本,3.4.3以上的版本有算法保护。 然后SIFT算法完美运行。OpenCV3.X.X —— xfeatures2d
下载相应的source与contrib,并解压,新建build文件夹(不要在source文件夹里新建build文件夹)。 对应版本的压缩包 source文件夹 contrib文件夹 新建的build文件夹与source、contrib文件夹并列 cmake —— 设置source与build目录,即刚才解压过的source文件夹和module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘
报错原因:该算法已经申请专利,开源OpenCV没有版权,新的OpenCV去掉了这个算法。 解决方法:卸掉目前的包,安装3.4.2.16版本 pip uninstall opencv-python pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16 安装python3.7及以前的版本