如何通过Conda安装python opencv?

我试图通过anaconda安装python的opencv,但我似乎无法弄清楚这一点。

我试过了

conda install opencv conda install cv2 

我也试过search

 conda search cv 

没有雪茄。 我跑过这个列表opencv作为一个包含的包:

http://docs.continuum.io/anaconda/pkgs.html

运行conda info我注意到我的版本是3.4.1,但我似乎无法find任何有关此版本的信息在线。 我对此很困惑。

我在这里错过了很明显的东西吗? 如果opencv可用于以前版本的anaconda,那为什么不能用于新版本? 为什么这个链接只显示我1.9.2版本的文档?

您可以使用binstar安装它:

 conda install -c menpo opencv 

这工作对我来说(在Ubuntu和Conda 3.18.3):

 conda install --channel https://conda.anaconda.org/menpo opencv3 

上面的命令是我在执行以下操作时看到的:

 anaconda show menpo/opencv3 

这是输出:

 To install this package with conda run: conda install --channel https://conda.anaconda.org/menpo opencv3 

我在Python中testing没有错误:

 >>> import cv2 >>> 

conda install opencv目前适用于UNIX / python2。 在咨询其他解决scheme之前,这是值得尝试的。

我总结了我现在完全可行的解决schemeOpenCV-Python – 如何安装OpenCV-Python包到Anaconda(Windows) 。 不过,我已经复制并粘贴了这个post的重要部分。


目前,我正在使用Windows 8.1和64位机器Anaconda作为Python 2.x的IDE。

注意:如果您使用的是Windows 10(或更高版本),并且以下说明适用,请您添加评论吗? 这将帮助社区很多! 🙂

TL; DR

要在Anaconda(和Spyder IDE)中完全使用OpenCV,我们需要:

  1. 从官方OpenCV站点下载OpenCV软件包
  2. cv2.pyd复制并粘贴到Anaconda site-packages目录。
  3. 设置用户环境variables,以便Anaconda知道在哪里可以findFFMPEG工具。
  4. 做一些testing来确认OpenCV和FFMPEG正在工作。

(请阅读详细说明…)

条件

安装Anaconda

Anaconda本质上是一个很好的打包的Python IDE,它附带了大量有用的软件包,比如NumPy,Pandas,IPython Notebook等等。似乎科学界正在推荐这个软件。 检查出python得到它安装。

安装OpenCV-Python到Anaconda

谨慎注意:我最初尝试安装binstar.org opencv软件包,build议。 然而,这种方法不包括FFMPEG编解码器 – 即你可能能够使用OpenCV,但你将无法处理video。

以下说明适用于我的OpenCV Youtubvideo 。 到目前为止,我已经在我的桌面和笔记本电脑上工作了。 64位机器和Windows 8.1。

下载OpenCV包

首先,到官方OpenCV站点下载完整的OpenCV软件包。 select一个你喜欢的版本(2.x或3.x)。 我在Python 2.x和OpenCV 3.x – 主要是因为这是OpenCV-Python教程如何设置/基于。

在我的情况下,我已经提取了包(本质上是一个文件夹)直接到我的C驱动器。 ( C:\opencv )。

复制并粘贴cv2.pyd文件

Anaconda Site-packages目录(例如C:\Users\Johnny\Anaconda\Lib\site-packages )包含您可以导入的Python包。 我们的目标是复制并粘贴cv2.pyd文件到这个目录(这样我们就可以在我们的Python代码中使用import cv2了)。

为此,请复制cv2.pyd文件…

从这个OpenCV目录(开始的部分可能会在你的机器上略有不同):

 # 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目录(开始的部分可能会在你的机器上略有不同):

 C:\Users\Johnny\Anaconda\Lib\site-packages 

执行import cv2这一步后,我们现在可以在Python代码中使用import cv2了。 但是,我们仍然需要做更多的工作来获得FFMPEG(video编解码器)的function(使我们能够处理video等)。

设置环境variables

右键单击“我的电脑”(或Windows 8.1上的“本电脑”) – >左键单击属性 – >左键单击“高级”选项卡 – >左键单击“环境variables…”button。

添加一个新的用户variables指向OpenCV(32位系统的x86或64位系统的x64)。我目前在64位机器上。

 | 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` | 

%OPENCV_DIR%\bin附加到用户variablesPATH

例如,我的PATH用户variables看起来像这样…

之前:

 C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts 

后:

 C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin 

这就是我们完成了! FFMPEG准备好了!

testing确认

我们需要testing我们现在是否可以在Anaconda(通过Spyder IDE)完成这些工作:

  • 导入OpenCV包
  • 使用FFMPEG实用程序(读取/写入/处理video)

testing1:我们可以导入OpenCV吗?

为了保证Anaconda现在可以导入OpenCV-Python包(即cv2 ),请在IPython控制台中发布这些包:

 import cv2 print cv2.__version__ 

如果软件包cv2导入正常,没有错误,并且cv2版本被打印出来,那么我们都很好! 这是一个快照:

import-cv2-ok-in-anaconda-python-2.png wp-content/uploads/2015/07/import-cv2-ok-in-anaconda-python-2.png

testing2:我们可以使用FFMPEG编解码器吗?

将一个示例input_video.mp4video文件放在一个目录中。 我们要testing我们是否可以:

  • 阅读这个.mp4video文件,并且
  • 写出一个新的video文件(可以是.avi.mp4等)

要做到这一点,我们需要有一个testingPython代码,称之为test.py 将其放在与示例input_video.mp4文件相同的目录中。

这就是test.py样子(我在这里列出了新旧版本的代码 – 让我们知道哪一个可以工作/不适合你):

(更新的版本…)

 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() 

(或旧版本…)

 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() 

这个testing是非常重要的。 如果你想处理video文件,你需要确保Anaconda / Spyder IDE可以使用FFMPEG(video编解码器)。 花了我好几天才得到它的工作。 但我希望这会花更less的时间! 🙂

注意:使用Anaconda Spyder IDE时,还有一个非常重要的提示。 确保你检查当前工作目录(CWD)!

结论

要在Anaconda(和Spyder IDE)中完全使用OpenCV,我们需要:

  1. 从官方OpenCV站点下载OpenCV软件包
  2. cv2.pyd复制并粘贴到Anaconda site-packages目录。
  3. 设置用户环境variables,以便Anaconda知道在哪里可以findFFMPEG工具。
  4. 做一些testing来确认OpenCV和FFMPEG正在工作。

祝你好运!

似乎不像你链接的页面包括opencv了。 (有趣的是,我确实记得它也包含在前一个点上。)

在任何情况下,安装OpenCV到Anaconda,虽然不能通过conda,是相当微不足道的。 你只需要下载一个文件。

  1. http://opencv.org/downloads.html下载OpenCV并解压;
  2. 从提取的文件夹中,将解压后的目录中的文件复制到您的Anaconda站点软件包目录,例如C:\ opencv / build / python / 2.7 /(x86或x64,取决于您的Anaconda版本)/cv2.pyd。python\ LIB \站点包
  3. 要在opencv中使用ffmpeg,你必须将ffmpeg所在的目录添加到path中(例如opencv / sources / 3rdparty / ffmpeg)。 然后,你必须find该文件夹​​中的dll(例如,opencv_ffmpeg_64.dll), 并将其复制或重命名为包含正在安装的opencv版本的文件名(例如,opencv_ffmpeg249_64)。

现在在python提示符下,你应该能够input“import cv2”…来validation它是否有效,input“print cv2 .__ version__”,它应该打印出你下载的OpenCV版本。

要在Anaconda中安装opencv,请启动Anaconda命令提示符,然后安装opencv

 conda install -c https://conda.anaconda.org/menpo opencv3 

testing它在你的Anaconda Spyder或IPython控制台中工作

 import cv2 

您也可以使用检查安装的版本

 cv2.__version__ 

我有完全相同的问题,无法获得conda安装OpenCV。 不过,我设法使用在此站点上find的OpenCV安装程序进行安装:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

他的文件是可以用pip安装的“Wheel”whl文件,例如

pip安装SomePackage-1.0-py2.py3-none-any.whl

在一个命令窗口中。 它执行这个命令后,直接与Spyder工作。 我曾经有过与其他套餐相同的经历,上面的加州尔湾地区是一个金矿。

我在命令提示符下input了以下命令:

 conda install -c menpo opencv=2.4.11 

这对我工作!

您可以通过在Anaconda命令提示符下运行以下命令来安装OpenCV 3:

conda install -c menpo opencv3

它在Windows 10和Ubuntu 14中工作。

来源: https : //anaconda.org/menpo/opencv3

要在Windows-64和Python 3.5上使用conda安装OpenCv,唯一为我工作的是:

 conda install -c conda-forge opencv=3.1.0 

像其他人一样,我在OS X 10.11上遇到了Python 3.5.1 / Anaconda 2.4.0的问题。

但是我在这里find了一个兼容的包:

https://anaconda.org/menpo/opencv3

它可以通过命令行来安装,如下所示:

  conda install -c https://conda.anaconda.org/menpo opencv3 

像魅力一样工作。 我第一次使用OpenCV来处理3.x!

用conda运行安装opneCV软件包:

 conda install -c menpo opencv3=3.1.0 

https://anaconda.org/menpo/opencv3

在Linux上,正如这里所讨论的,目前获得opencv的最好方法是从conda-forge上的loopbio:

 conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv 

如果你有'现代的CPU',还有一个编译版本'使所有现代的CPU指令集扩展和反对libjpeg-turbo':

 conda install -c loopbio -c conda-forge -c pkgw-forge ffmpeg-feature ffmpeg gtk2 opencv-turbo` 

在其他答案中提到的两个解决scheme不能无条件地工作:

  • conda你通过conda install opencv或者pip install opencv-python没有gtk2的支持,所以你不能通过imshow显示图片。
  • 由门坡build造的Conda(conda conda install -c menpo opencv3 )支持gtk2,但是
    • 他们只为Python 3.5构build了OpenCV 3.2,而不是Python 3.6
    • Ubuntu 16.10已经废弃了libpng12 ,导致缺less依赖关系,并在尝试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版存在一个问题,它默默无法读写video,这是由于上游OpenCV问题与老海湾合作委员会。更多细节在这里 。有一个公关正在解决这个问题。“

我认为应该跨平台和跨Anaconda的各种版本工作的最简单的select是

 #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只解决scheme。 用于Python 3.x的OpenCV 3.x pip安装

下载.whl文件( cp MN,你有Python MN)。 contrib包含OpenCV-extra软件包。 例如,假设你有Python 3.6和Windows 64位,你可以下载opencv_python-3.2.0 + contrib-cp36-cp36m-win_amd64.whl

从命令提示符下键入:

 pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win_amd64.whl 

你将在你的conda list有一个包: opencv-python 3.2.0+contrib <pip>

现在你可以testing它(没有错误):

 >>> import cv2 >>> 

我在这里获取信息的原始源页面。

一个简单而直接的解决scheme是在安装opencv3之前首先安装python3.5

 conda install python=3.5 

其次是

 conda install --channel https://conda.anaconda.org/menpo opencv3 
 conda install -c https://conda.anaconda.org/menpo opencv 

尝试这个

我刚刚尝试了两台win32 Python 3.5电脑。 在第一次,我能conda install opencv但它没有工作,也没有从menpp的版本,但这做了conda conda install -c https://conda.binstar.org/conda-forge opencv

在anaconda窗口中安装当前版本的OpenCV 3.3的正确命令:

 conda install -c conda-forge opencv 

要么

 conda install -c conda-forge/label/broken opencv 

为了3.2使用这个:

 conda install -c menpo opencv3 

GL

如果conda install opencvconda 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从源代码构buildOpenCV” ),更改cmake命令如下:

 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 

你会在anaconda/lib/python2.7/site-packagesfindcv2.so然后

 import cv2 print cv2.__version__ 

它会打印出2.4.10

我的环境是gcc 4.4.6,python 2.7(anaconda),opencv-2.4.10。

您只需将cv2.pyd文件复制到C:\ Users \ USERNAME \ Anaconda2 \ Lib

您可以在此链接获取cv2.pyd文件( https://sourceforge.net/projects/opencvlibrary/files/

cv2.pyd位于C:\ Users \ USERNAME \ Desktop \ opencv \ build \ python \ 2.7 \ x64

以下命令也适用于我。 我在aacoda中使用embedded的Ipython Notebook。

 conda install -c https://conda.binstar.org/menpo opencv 

只想更新atlas7的辉煌答案

如果您使用opencv3将testing代码更改为以下内容:

 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 install --channel https://conda.anaconda.org/conda-forge opencv 

我像上面安装。 我尝试conda直接安装opencv,但它不适用于我,因为我使用Python 3.5是更高的版本,在conda默认opencv库。 后来,我尝试了“anaconda / opencv”,但它也不起作用。 我终于发现conda-forge / opencv适用于Python 3.5。

使用Wheel文件是更简单的方法。 如果无法在命令提示符下安装Wheel文件,则可以使用存在于/ Scripts文件夹中的可执行pip文件。

以下是使用conda为python安装软件包的一般方法:

1) conda search packageName例如conda search opencv

2)如果这不返回结果, conda install packageName将不起作用

3)现在,您可以访问https://anaconda.org/并在search框中inputpackageName。; 如果这样做的结果(它应该为opencv),然后点击你的平台的结果之一(例如win-64)。 下一页将显示用于安装此软件包的命令(例如, conda install -c menpo opencv=2.4.11 )。

4)如果你的包没有通过searchhttps://anaconda.org返回结果,那么你可以尝试pip install packageName

警告:当我使用步骤3安装win-64的opencv时,当我试图import cv2时出现错误。

这是错误:

 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软件包的有效方法,可能需要解决一些软件包版本冲突。

我试图在我的Raspberry Pi(Raspibian OS)上使用Minoconda,但是我无法获得我的平台的Open CV。 最后,下面的命令工作:

 $ sudo apt-get install ipython python-opencv python-scipy python-numpy python-setuptools python-pip 

我面临同样的问题,但现在解决了。 这就是我所做的:

首先在命令提示符下inputconda install -c https://conda.binstar.org/menpo opencv ,然后findAnaconda\pkgs\opencv-2.4.9.1-np19py27_0\Lib\site-packages这个path。 现在把这里存在的所有文件复制到Anaconda\Lib\site-packages 。 现在你将能够使用Python的OpenCV。