今天重新安装了 Python 的环境,发现在新版本 Anaconda3 下安装配置 OpenCV 3 十分简单。
在 Anaconda navigator 左侧选择 Environment ,在右侧要使用的环境中,左上方将 Installed 改为 All,右侧搜索 cv ,便可看到 opencv,勾选后点击右下角 Apply ,同时还会安装几个依赖包,点击确认后稍等即可,我安装的版本是 3.4.1 。
如此简单,快在编辑器中 import cv2
试试吧!
以下是原文:
人生苦短,快用 Python。传统的 OpenCV 使用 C++ 开发,程序运行效率高,但是开发效率… Python 语法简洁,现在越来越流行,如果对效率没有严格要求的话非常推荐使用。比如我之前做的识别数独的程序,慢一点也没有关系。
在 Python 2.7 里使用 OpenCV 实在是再简单不过了,只需要把 OpenCV 目录中 /build/python/2.7 里的 “cv2.pyd” 复制粘贴到 Python 目录下的 \Lib\site-packages 文件夹中,再 import cv2
即可。
但是,本人一开始学的就是 Python 3 ,与2版本的还是有一些区别的,加上什么都喜欢用最新版的强迫症,所以查了一些资料并做了实验,把 OpenCV 3 在 Python 3 中的使用方法总结一下。
首先本文使用具体版本(2017.12.16):
因为 opencv-python 需要 numpy 包,要安装 numpy 可以自己下载安装,不过如果使用 Anaconda 则更方便,包含了 numpy 在内的大量的科学包,还有很多其他好处。IDE使用的是 PyCharm ,美观好用。安装Anaconda3与PyCharm的过程很简单,就不多说了。
Anaconda使用conda管理各种包,关于conda的使用可以参考这里 。
如果在命令行里输入 conda install -c menpo opencv
的话,安装的版本是 v2.4.11 ,不是我想要的版本。
如果在命令行里输入 conda install -c menpo opencv3
的话,安装的版本是 v3.1.0 ,但是会提示:
UnsatisfiableError: The following specifications were found to be in conflict:
- opencv3 -> python 2.7*
- python 3.6*
意思是这个 opencv3 支持 python2.7 但是当前环境为 python3.6 ,所以直接使用 conda 安装可以使用但只能对版本做出妥协。
使用python自带的pip管理包的话,可以试试 pip install opencv-python
,之后会自动下载:
Downloading opencv_python-3.3.0.10-cp36-cp36m-win_amd64.whl (39.7MB)`
但是我在 anaconda 命令行里使用 pip 总是下到一半出 Exception。
另一个办法是在下面的网址下载对应版本及平台的 .whl 包,再手动安装。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
例如我下载的是:opencv_python‑3.3.1‑cp36‑cp36m‑win_amd64.whl
将其拷贝到 Python 目录下的 \Lib\site-packages 文件夹中,在这个目录下打开命令行(shift+右键),或者cd进这个目录,输入:
pip install opencv_python‑3.3.1‑cp36‑cp36m‑win_amd64.whl
安装完成即可使用 import cv2
。
使用CMake重新配置和编译,这种做法可以参考我的博客中“使用 CMake + VS2017 ( + Python 3) 配置和编译 OpenCV 3.3”一文,最后会得到 cv2.cp36-win_amd64.pyd 直接拷贝即可使用。
我尝试了后两种方案均可以成功,需要注意使用的版本及平台是否对应,若使用版本不同可参考网络上其他教程。