繁体   English   中英

AttributeError: 模块 'cv2.cv2' 没有属性 'xfeatures2d' [Opencv 3.4.3]

[英]AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d' [Opencv 3.4.3]

我安装了 opencv 3.4.3(使用pip3 install opencv-pythonpip3 install opencv-python-contrib

当我运行包含此行的代码时:
sift = cv2.xfeatures2d.SIFT_create()
我收到此错误:

AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'

opencv 3.4.3 不再支持xfeatures2d函数了吗?

xfeatures2d的错误消息与模块xfeatures2d不存在有关。 它与 SIFT 算法或xfeatures2d任何算法都没有直接关系(都将发送该错误)。 我建议您重新安装opencv-contrib-python (pip install opencv-contrib-python),或者如果您使用的是 anaconda 或等效的从另一个源存储库重新安装两个 opencv 包。 如果您对它感到满意,最后一个选项包括自己编译完整的 OpenCV(“常规”+ contrib)。

希望能帮助到你。

编辑:我的回答不正确。 请参阅下面的其他答案

我的回答中提到的问题是另一个问题的解决方案(在此处回答)。 但是,由于您使用的OpenCV 3.4.3,相信你也会有不同的问题,以及。 那是在这个答案原文现在是对对方的回答,因为它是正确的回答这个问题。

在你的 conda 提示符下试试这个。

pip3 uninstall opencv-python
pip3 install -U opencv-contrib-python==3.4.2.16

经过数小时的头发拉扯和安装/从头开始编译所有内容后,我需要将其发布给其他人,他们可能会犯我正在犯的同样愚蠢的小错误。

如果您的系统中同时安装了 opencv-python 和 opencv-contrib-python 并且仍然收到此错误,而不是

 sift = cv2.xfeatures2d.SIFT_create()

尝试

 sift = cv2.SIFT_create()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM