Anaconda和Python都是默认安装,没什么大问题。关键是opencv的安装,网上教程很多,适用的情况也不同,但是我试了很多种都没装好。最后经同事提醒用pip装的。总结如下:
1. 为什么装opencv 3.4.2.16:因为这是支持xfeatures2d.SURF_create的最高版本,再升就不支持了。如果不需要xfeatures2d函数,安装起来就非常简单了,直接conda install -c menpo opencv3(因为连国外的源,所以看网速、看运气),网上说这个装个以后可以支持xfeatures2d,但是我装了以后发现是不支持的。或者打开装anaconda自带的GUI界面,搜索opencv安装,没有低版本的,所以装了以后也不支持xfeatures2d。
2. opencv 3.4.2.16安装误区:网上有一个误区,就是anaconda的包必须用conda install来装,然而如第一条所述,conda install装opencv 3.4.2.16是装不了的,特别慢而且装完不支持xfeatures2d。那么还有一个办法,下载whl文件本地手动安装。但是下载网址也是国外网站,下载速度只有10k/s!下到一半还停了!如果非要手动安装的还是要找一个国内分享的安装包。
3. opencv 3.4.2.16到底怎么装最方便:很简单,进入Anaconda自带的Anaconda Prompt(或者直接命令行也行),activate要装OpenCV的环境,用pip安装,注意换源,否则速度一样很慢。
pip install opencv-python==3.4.2.16 -i "https://pypi.doubanio.com/simple/"
pip install opencv-contrib-python==3.4.2.16 -i "https://pypi.doubanio.com/simple/"
装完以后进入Python,import cv2和使用xfeatures2d都没有报错,说明安装成功。print(cv2.__path__),发现包是安装在虚拟环境里的,说明anaconda可以用pip来进行虚拟环境包的安装。
import cv2
sift = cv2.xfeatures2d.SURF_create()
print(cv2.__path__)
过程如下,非常方便。