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版本匹配。
建议:尽量不要下载最新版本的软件和包,因为很容易出现版本不兼容,从而引发各种棘手的问题,除非你真的特别需要刚刚更新的内容。
结果: