How do I install Python OpenCV through Conda?
我正在尝试通过Anaconda安装OpenCV for Python,但我似乎无法弄清楚这一点。
我试过了
1 2 | conda install opencv conda install cv2 |
我也尝试过搜索
1 | conda search cv |
没有雪茄。 我跑过这个列出
http://docs.continuum.io/anaconda/pkgs.html
运行
我错过了一些非常明显的东西吗? 如果
您可以使用binstar安装它:
1 | conda install -c menpo opencv |
这对我有用(在Ubuntu和conda 3.18.3上):
1 | conda install --channel https://conda.anaconda.org/menpo opencv3 |
上面的命令是我运行以下内容时向我显示的内容:
1 | anaconda show menpo/opencv3 |
这是输出:
1 2 | To install this package with conda run: conda install --channel https://conda.anaconda.org/menpo opencv3 |
我在python中测试了以下内容而没有错误:
1 2 | >>> import cv2 >>> |
我总结了我现在完全正常工作的解决方案,OpenCV-Python - 如何将OpenCV-Python软件包安装到Anaconda(Windows)。不过,我已经将重要的内容复制并粘贴到这篇文章中。
在撰写本文时,我使用的是Windows 8.1,64位机器,Anaconda / Python 2.x. (参见下面的注释 - 这也适用于Windows 10,也可能适用于Python 3.x)。
注1:正如@great_raisin(谢谢)在评论部分提到的那样,这个解决方案似乎也适用于Windows 10。
注2:这也可能适用于Anaconda / Python 3.x.如果您使用的是Windows 10和Anaconda / Python 3.x,并且此解决方案有效,请在下面添加评论。谢谢!
注3:根据您使用的是Python 2.x还是3.x,只需在代码片段中相应地调整
TL; DR
要与Anaconda(和Spyder IDE)完全一起使用OpenCV,我们需要:
(继续阅读详细说明......)
条件
安装Anaconda
Anaconda本质上是一个包装精美的Python IDE,附带了大量有用的软件包,如NumPy,Pandas,IPython Notebook等。似乎建议科学界的所有地方使用。检查Anaconda以安装它。
将OpenCV-Python安装到Anaconda
谨慎注意:我最初尝试按照建议安装binstar.org OpenCV软件包。然而,该方法不包括FFMPEG编解码器 - 即您可以使用OpenCV,但您将无法处理视频。
以下说明适用于我,受此OpenCV YouTube视频的启发。到目前为止,我已经在我的台式机和笔记本电脑上工作,包括64位机器和Windows 8.1。
下载OpenCV包
首先,访问OpenCV官方网站下载完整的OpenCV软件包。选择你喜欢的版本(2.x或3.x)。我在Python 2.x和OpenCV 3.x上 - 主要是因为这是OpenCV-Python教程的设置/基础。
在我的情况下,我已经将包(基本上是一个文件夹)直接解压缩到我的C盘(
复制并粘贴cv2.pyd文件
Anaconda Site-packages目录(例如我的
为此,请复制
从这个OpenCV目录(您的计算机上的开头部分可能略有不同)。对于Python 3.x,我想,只需将
1 2 3 4 5 | # Python 2.7 and 32-bit machine: C:\opencv\build\python\2.7\x84 # Python 2.7 and 64-bit machine: C:\opencv\build\python\2.7\x64 |
到这个Anaconda目录(你的机器上的起始部分可能略有不同):
1 | C:\Users\Johnny\Anaconda\Lib\site-packages |
执行此步骤后,我们现在可以在Python代码中使用
设置环境变量
右键单击"我的电脑"(或Windows 8.1上的"此PC")→左键单击属性→左键单击"高级"选项卡→左键单击"环境变量..."按钮。
添加新的用户变量以指向OpenCV(适用于32位系统的x86或适用于64位系统的x64)。我目前在64位机器上。
1 2 3 4 | | 32-bit or 64 bit machine? | Variable | Value | |---------------------------|--------------|--------------------------------------| | 32-bit | `OPENCV_DIR` | `C:\opencv\build\x86\vc12` | | 64-bit | `OPENCV_DIR` | `C:\opencv\build\x64\vc12` | |
将
例如,我的
之前:
1 | C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts |
后:
1 | C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin |
这就是我们完成的! FFMPEG已准备好使用!
测试确认
我们需要测试我们现在是否可以在Anaconda中执行这些操作(通过Spyder IDE):
测试1:我们可以导入OpenCV吗?
要确认Anaconda现在能够导入OpenCV-Python包(即
1 2 | import cv2 print cv2.__version__ |
如果包
import-cv2-ok-in-anaconda-python-2.png http://mathalope.co.uk/wp-content/uploads/2015/07/import-cv2-ok-in-anaconda-python-2.png
测试2:我们可以使用FFMPEG编解码器吗?
将示例
要做到这一点,我们需要有一个测试Python代码,称之为
这就是
(较新版本......)
1 2 3 4 5 6 7 8 9 10 | import cv2 cap = cv2.VideoCapture("input_video.mp4") print cap.isOpened() # True = read video successfully. False - fail to read video. fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter("output_video.avi", fourcc, 20.0, (640, 360)) print out.isOpened() # True = write out video successfully. False - fail to write out video. cap.release() out.release() |
(或旧版本......)
1 2 3 4 5 6 7 8 9 10 | import cv2 cv2.VideoCapture("input_video.mp4") print cv2.isOpened() # True = read video successfully. False - fail to read video. fourcc = cv2.cv.CV_FOURCC(*'XVID') out = cv2.VideoWriter("output_video.avi",fourcc, 20.0, (640,360)) print out.isOpened() # True = write out video successfully. False - fail to write out video. cap.release() out.release() |
这项测试非常重要。如果您想处理视频文件,则需要确保Anaconda / Spyder IDE可以使用FFMPEG(视频编解码器)。我花了几天时间让它运转起来。但我希望这会花费你更少的时间! :)
注意:使用Anaconda Spyder IDE时,还有一个非常重要的提示。确保检查当前的工作目录(CWD)!
结论
要与Anaconda(和Spyder IDE)完全一起使用OpenCV,我们需要:
祝好运!
好。
您链接的页面似乎不再包含
无论如何,将OpenCV安装到Anaconda中虽然无法通过conda安装,但这一点非常简单。你只需要下载一个文件。
现在在Python提示符下,您应该能够键入"import cv2"...以验证它是否有效,键入"print cv2.version",它应该打印出您下载的OpenCV版本。
要在Anaconda中安装OpenCV,请启动Anaconda命令提示符
并安装OpenCV
1 | conda install -c https://conda.anaconda.org/menpo opencv3 |
测试它在你的Anaconda Spyder或IPython控制台中是否有效
1 | import cv2 |
您还可以使用以下方法检查已安装的版本
1 | cv2.__version__ |
您可以通过在Anaconda命令提示符中运行以下任何命令来安装OpenCV 3:
1 2 3 | conda install -c menpo opencv3 conda install -c conda-forge opencv |
不再支持mempo频道。
它适用于Windows 10和Ubuntu 14。
资源:
https://anaconda.org/menpo/opencv3
https://github.com/conda-forge/opencv-feedstock
以下从
1 2 | conda config --add channels conda-forge conda install opencv |
2019年5月,答案如下:
1 2 | conda update freetype conda install opencv |
这会将
我有完全相同的问题,无法让conda安装OpenCV。但是,我设法使用您在此站点上找到的OpenCV安装程序安装它:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
他的文件是"Wheel"whl文件,可以用pip安装,例如
pip install SomePackage-1.0-py2.py3-none-any.whl
在命令窗口中。在为我执行此命令后,它直接与Spyder一起使用。我和其他套餐有过相同的经历,上面的加州大学欧文分校是一个金矿。
我在命令提示符下输入以下命令:
1 | conda install -c menpo opencv=2.4.11 |
这对我有用!!!
要在Windows-64和Python 3.5上使用conda安装OpenCv,唯一适合我的方法是:
1 | conda install -c conda-forge opencv=3.1.0 |
和其他人一样,我在OS X 10.11上遇到过Python 3.5.1 / Anaconda 2.4.0的问题。
但我在这里找到了兼容的包:
https://anaconda.org/menpo/opencv3
它可以通过命令行安装,如下所示:
1 | conda install -c https://conda.anaconda.org/menpo opencv3 |
工作就像一个魅力。我第一次让OpenCV在3.x上工作!
我认为跨平台和各种版本的Anaconda应该是最简单的选择
1 2 3 4 5 | #Run Anaconda Prompt as an Administrator (on Windows) & execute the command below #(you may need to use sudo on a Unix-Based or Mac system #to have the needed permissions) conda install -c conda-forge opencv |
仅Windows解决方案。适用于Python 3.x的OpenCV 3.x pip安装
下载.whl文件(cpMN,你有Python M.N)。 contrib包括OpenCV-extra软件包。例如,假设你有Python 3.6和Windows 64位,你可以下载opencv_python?3.2.0 + contrib?cp36?cp36m?win_amd64.whl
从命令提示符下键入:
1 | pip install opencv_python?3.2.0+contrib?cp36?cp36m?win_amd64.whl |
您将在
现在你可以测试它(没有错误):
1 2 | >>> import cv2 >>> |
我获取信息的原始源页面在这里。
在Linux上,正如这里所讨论的,目前获得opencv的最佳方法是来自conda-forge的loopbio:
1 | conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv |
如果你有'现代CPU',那么还存在一个编译版本"启用所有现代CPU指令集扩展[...]和libjpeg-turbo":
1 | conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv-turbo` |
其他答案中提到的两个解决方案不能无条件地工作:
-
您通过
conda install opencv 或pip install opencv-python 获得的conda没有gtk2支持,因此您无法通过imshow 显示图像。 -
由Menpo(
conda install -c menpo opencv3 )建造的Conda有gtk2支持,但是- 他们只为Python 3.5构建了OpenCV 3.2,而不是Python 3.6
-
Ubuntu 16.10已弃用
libpng12 ,导致缺少依赖关系,并在尝试import cv2 时出现以下错误:ImportError: libpng12.so.0: cannot open shared object file: No such file or directory ,如此处所述
编辑:@Yamaneko指出,截至2017年6月14日,"loopbio的OpenCV版本3.2.0存在问题。它默默无法读取和写入视频。这是由于上游OpenCV问题与老GCC。更多细节在这里。有一个公关正在解决这个问题。"
一个简单直接的解决方案是在安装opencv3之前先安装python3.5
1 | conda install python=3.5 |
其次是
1 | conda install --channel https://conda.anaconda.org/menpo opencv3 |
要使用conda安装OpenCV软件包,请运行:
1 | conda install -c menpo opencv3=3.1.0 |
https://anaconda.org/menpo/opencv3
以下命令也适用于我。我在Anaconda中使用嵌入式IPython笔记本。
1 | conda install -c https://conda.binstar.org/menpo opencv |
如果
从http://opencv.org/downloads.html下载源代码,按照http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html中的安装说明操作,(也许你可以跳转直接到最后一部分,"使用CMake从源构建OpenCV ...",更改
1 2 3 4 5 6 | mkdir release cd release cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/**/env/opencv-2.4.10 -D BUILD_NEW_PYTHON_SUPPORT=ON -D PYTHON_EXECUTABLE=/home/**/env/anaconda/bin/python -D PYTHON_INCLUDE_DIR=/home/**/env/anaconda/include/python2.7 -D PYTHON_LIBRARY=/home/**/env/anaconda/lib/libpython2.7.so -D PYTHON_PACKAGES_PATH=/home/**/env/anaconda/lib/python2.7/site-packages -D PYTHON_NUMPY_INCLUDE_DIRS=/home/**/env/anaconda/lib/python2.7/site-packages/numpy/core/include .. make -j4 make install |
你会在
然后:
1 2 | import cv2 print cv2.__version__ |
它将打印出
我的环境是GCC 4.4.6,Python 2.7(anaconda)和opencv-2.4.10。
在Anaconda窗口中安装当前版本的OpenCV 3.3的正确命令:
1 | conda install -c conda-forge opencv |
要么
1 | conda install -c conda-forge/label/broken opencv |
对于3.2使用此:
1 | conda install -c menpo opencv3 |
1 | conda install -c https://conda.anaconda.org/menpo opencv |
试试这个
您只需将cv2.pyd文件复制到
您可以在此链接获取cv2.pyd文件(https://sourceforge.net/projects/opencvlibrary/files/)。
cv2.pyd位于
我刚试过两台Win32 Python 3.5计算机。起初,我能够
1 | conda install -c https://conda.binstar.org/conda-forge opencv |
OP没有指定他绝对需要使用
我像这样安装它:
1 | $ conda install --channel https://conda.anaconda.org/conda-forge opencv |
我直接尝试了
我在repo中有一些步骤可以帮助您正确安装OpenCV。
如果链接断开,请看这个。
有关要求和先决条件,请遵循以下说明:
你需要有WINDOWS操作系统来开始这个项目。
Windows 7到10
请仔细按照步骤操作
安装Anaconda2 32/64 python 2
要么
安装Anaconda3 32/64 python 3
它取决于系统信息
一路上你必须检查所有选项忽略红色文本
然后等到安装完成......
完成安装后打开CMD管理员
确保在CMD管理员中配置anaconda-python
键入:python
这将出来:
C: WINDOWS system32> python Python 3.6.3 | Anaconda自定义(64位)| (默认,2017年10月15日,03:27:45)
有关win32的[MSC v.1900 64 bit(AMD64)]请输入"帮助","版权","信用"或"许可证"以获取更多信息。
接下来是安装包:
NumPy的
OpenCV的
PyMySQL或pymysql
安装和导入OpenCV
conda install -c conda-forge opencv =(版本可选)
(如果有更新,请单击是)
安装和导入Numpy
pip安装numpy
(如果有更新,请单击是)
安装和导入PyMySQL / pymysql
pip安装PyMySQL或pymysql
完全安装所有软件包后,必须重新启动它。
再次转到CMD管理员
输入"python"
import cv2(cv2是OpenCV)
导入Numpy或numpy
导入pymysql
进口口
来自Image的PIL
如果所有的都没问题..你准备好运行代码!!
完成所有步骤后,您现在可以在我使用的SPYDER python中测试代码
虽然不是通过Conda,这是特定于Ubuntu,安装OpenCV及其内置的所有contrib模块(如SIFT和SURF)的最简单方法是使用:
它支持Python2.7 +和Python 3.4+
如果您选择不内置contrib,您可以改为:
在运行这些命令之前,您需要在下面安装以下依赖项:
这是一个关于在Ubuntu上设置OpenCV的好教程:
https://medium.com/@debugvn/installing-opencv-3-3-0-on-ubuntu-16-04-lts-7db376f93961
我只想更新Atlas7的精彩答案。
如果您使用的是OpenCV 3,请将测试代码更改为以下内容:
1 2 3 4 5 6 7 8 9 10 | import cv2 cap=cv2.VideoCapture("input_video.mp4") print cap.isOpened() # True = read video successfully. False - fail to read video. fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480)) print out.isOpened() # True = write out video successfully. False - fail to write out video. cap.release() out.release() |
以下是使用conda安装适用于Python的包的一般方法:
如果这不返回结果,则
此时,您可以访问https://anaconda.org/并在搜索框中输入packageName。如果这会提取结果(应该是OpenCV的结果),然后单击适用于您的平台的结果之一(例如win-64)。下一页将显示用于安装此程序包的命令(例如
如果您的软件包没有通过搜索https://anaconda.org返回结果,那么您可以尝试
注意:当我使用第3步为win-64安装OpenCV时,我在尝试
这是错误:
1 2 3 | RuntimeError: module compiled against API version a but this version of numpy is 9 Traceback (most recent call last): File"<stdin>", line 1, in <module> |
ImportError:numpy.core.multiarray无法导入
我认为错误是由于包版本冲突造成的。不过,这是安装OpenCV和其他Python软件包的有效方法,您可能只需要解决一些软件包版本冲突。
我刚刚在Windows 10中安装了conda 4.7.11.OpenCV可以很容易地安装在Anaconda Navigator中。启动Navigator后,单击左侧面板上的Environments。在顶部下拉列表中,选择未安装。然后搜索py-opencv,在左侧勾选复选框以安装它。它将安装依赖包libopencv。我在Spyder中使用
Windows 7,conda 4.4.10 python 2.7.6
从非官方Windows二进制文件下载了用于python扩展包的opencv包。 (挑选python 2.4 AMD 64)
cd下载
pip install opencv_python ...
python run_some.py(其中import cv2 ...)似乎工作。
因人而异
如果你想安装opencv 3.4.0,不幸的是,这个版本不在conda中。你需要使用pip。
我遇到了同样的问题,但我现在已经解决了。这就是我做的:
首先在命令提示符中输入
我在一个anaconda虚拟环境中的MAC机器上。为了我,
1 | conda install -c conda-forge opencv |
工作得很好。
它安装了opencv版本3.4.4
希望能帮助到你。
使用Wheel文件是一种更简单的方法。如果无法从命令提示符安装Wheel文件,则可以使用
以下命令为
1 | conda install --channel https://mirrors.ustc.edu.cn/anaconda/cloud/menpo opencv3 |
我尝试在我的Raspberry Pi(Raspibian OS)上使用Minoconda,但是我的平台无法获得Open CV。最后,以下命令有效:
1 | $ sudo apt-get install ipython python-opencv python-scipy python-numpy python-setuptools python-pip |