cv2.xfeatures2d.SIFT_create()报错后,配置OpenCV+contrib+Python
opencv做一些特征检测匹配,所以需要用到opencv-contrib-python这个包,因为SIFT,SURF算法都已经申请专利了,所以这两个算法不免费,在opencv3.4.2之后的版本都不再包含这两个算法。只能使用3.4.1.15或者早期版本。
(具体可以查询,我用的是opencv-contrib3.4.1.15版本,Python版本为3.6.5),而且还有限制条件是Python版本为3.6才能支持,真的是气的吐血,对新手及其不友好。
下面是官网支持的版本:
解决办法:
1 :卸载之前的opencv-python和opencv-contrib-python 版本。
pip uninstall opencv-python
pip uninstall opencv-contrib-python
2 :使用清华的镜像源,下载速度快的飞起。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn opencv-python==4.1.2
pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com opencv-contrib-python==3.4.0.12
3:opencv版本现在可以与opencv-contrib版本不一致(之前网上有人说需要匹配,但现在不用了),但是必须跟Python版本匹配。
建议:尽量不要下载最新版本的软件和包,因为很容易出现版本不兼容,从而引发各种棘手的问题,除非你真的特别需要刚刚更新的内容。
结果:
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步