前言
记录下Python配置Opencv的坑!Win7 64+Python3.6+Opencv3.4
本以为安装Python配置opencv的环境很简单,结果掉入坑里去了,刚刚解决,记录下。
首先安装Python不用说,其次是安装Numpy,这个在“微信小游戏跳一跳配置Python环境已经解决了”,最后就是安装Opencv了,网上很多关于Opencv的配置方法,但是会有些问题,下面我一一讲解。
1. 我已安装opencv3.4,进入opencv3.4的安装目录,到opencv/build/python/2.7/x64下的,复制cv2.pyd,(因为我的电脑是64位的,所以找的是x64目录),把它放到Python/Lib/sit-packages这个目录下,这个方法的结果是没有用,因为目前官网上下载的opencv支持的python只是2.7的版本,还没有支持Python3.x的版本,所以在Python3.6的环境下是不可以的。
2.有非官网已经编译好的opencv_python的版本,网址为:https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv,我下载了opencv_python‑3.4.0+contrib‑cp36‑cp36m‑win_amd64.whl,把它放到Python/Scripts目录下,打开cmd,进入这个目录,运行:pip install opencv_python‑3.4.0+contrib‑cp36‑cp36m‑win_amd64.whl,安装好后,我以为没有问题了,于是在Python脚本中输入:import cv2 结果报错了:
看了N多篇博客,都是这样配置成功的,无奈之下,我又重新安装opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl,结果提示我已经安装了opencv_python,我输入:import cv2,还是报上图的错,整个人都要崩溃了。
3.最后终于在https://www.cnblogs.com/combfish/p/5639424.html这篇博客中找到解决办法,原来是我缺少dll解析的依赖项,到 https://www.microsoft.com/en-us/download/details.aspx?id=48145下载Visual C++ 2015 redistribution package,点击download,我的电脑是64位,所以下载vc_redist.x64.exe,下载后,点击安装,也不需要选安装目录啥的,就安装好了,然后我输入:import cv2,最终没有报错,终于搞好了,好开心,特地记录下。
后记
在这里记录下opencv_python‑3.4.0+contrib‑cp36‑cp36m‑win_amd64.whl和opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl的区别,因为我是在PyCharm上运行的代码,因为环境的问题,我需要在PyCharm项目的Scripts目录下重新install opencv_python,因为我先安装的是opencv_python‑3.4.0‑cp36‑cp36m‑win_amd64.whl,在运行代码时出现了问题:descriptor = cv2.xfeatures2d.SIFT_create() AttributeError: module 'cv2' has no attribute 'xfeatures2d'这个问题,我搜索了很久,都说是cv2的版本的问题,可是我的cv2已经是最新版的,这里有介绍是因为专利的问题,cv2.cv2.FeatureDetector_create()方法已经被移除了,所以我需要使用opencv_contrib,因此我重新install了opencv_python‑3.4.0+contrib‑cp36‑cp36m‑win_amd64.whl,最终解决了问题。