如何通过Conda安装Python OpenCV ?

我试图通过水蟒为Python安装OpenCV,但我似乎无法解决这个问题。

我试着

conda install opencv
conda install cv2

我也试着搜索

conda search cv

没有雪茄。我遇到了这个,它列出了opencv作为一个包含的包:

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

在运行conda info后,我注意到我的版本是3.4.1,但我似乎无法在网上找到关于这个版本的任何信息。我对此很困惑。

我是不是遗漏了一些很明显的东西?如果opencv可用于Anaconda的以前版本,那么为什么它不能用于新版本?为什么这个链接只显示版本1.9.2的文档?

883556 次浏览

你链接的页面似乎不再包含opencv了。(有趣的是,我确实记得它在之前也被包括在内。)

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

  1. https://opencv.org/releases/下载OpenCV并提取
  2. 从解压的文件夹中,从解压的目录中复制文件:opencv/build/python/2.7/(x86或x64,取决于你的Anaconda版本)/cv2。pyd到你的Anaconda站点-packages目录,例如C:\Anaconda\Lib\site-packages
  3. 为了让FFmpeg在opencv中工作,你必须将FFmpeg所在的目录添加到路径中(例如,opencv/sources/3rdparty/ FFmpeg)。然后你必须在该文件夹中找到DLL文件(例如,opencv_ffmpeg_64.dll)和复制或重命名到包含你正在安装的opencv版本的文件名(例如,opencv_ffmpeg249_64),用于2.4.9。

现在,在Python提示符下,您应该能够键入“import cv2"要验证它是否有效,输入“print cv2.__version__",它应该打印出你下载的OpenCV版本。

conda install opencv目前在UNIX/python2上为我工作。这值得在咨询其他解决方案之前先尝试一下。

你可以使用binstar安装它:

conda install -c menpo opencv

我也遇到过同样的问题,但我现在已经解决了。这就是我所做的:

首先在命令提示符中输入conda install -c https://conda.binstar.org/menpo opencv,然后找到路径Anaconda\pkgs\opencv-2.4.9.1-np19py27_0\Lib\site-packages。现在将这里的所有文件复制到Anaconda\Lib\site-packages中。现在你可以在Python中使用OpenCV了。

我也遇到了同样的问题,无法让conda安装OpenCV。然而,我设法用OpenCV安装程序安装它,你可以在这个网站上找到:

< a href = " http://www.lfd.uci.edu/ ~ gohlke / pythonlibs / " > http://www.lfd.uci.edu/ gohlke pythonlibs / < / >

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

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

在命令窗口中。在为我执行这个命令后,它直接与Spyder一起工作。我有同样的经验与其他包,上述加州大学欧文分校网站是一个金矿。

我已经总结了我现在完全工作的解决方案,< a href = " https://mathalope.co。uk/2015/05/07/ OpenCV-Python - How -to-install- OpenCV-Python -package-to- Anaconda - Windows /" rel="noreferrer">OpenCV-Python -如何将OpenCV-Python包安装到Anaconda (Windows) . txt。尽管如此,我还是把重要的部分复制粘贴到了这篇文章中。


在撰写本文时,我使用的是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,这个解决方案是有效的,请在下面添加评论。谢谢!(更新:注意从评论“工作在Windows 10”)

  • 注3:取决于你是否使用Python 2。X或3。x,只需在代码段中相应地调整print语句。即在Python 3中。在Python 2. x中,它将是print("hello")。x它将是print "hello"

博士TL;

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

  1. OpenCV官方网站下载OpenCV包
  2. cv2.pyd复制并粘贴到Anaconda site-packages目录。
  3. 设置用户环境变量,以便Anaconda知道在哪里可以找到FFMPEG实用程序。
  4. 做一些测试来确认OpenCV和FFMPEG现在可以工作。

(请继续阅读详细说明…)

先决条件

安装水蟒

Anaconda本质上是一个打包良好的Python IDE,附带了大量有用的包,如NumPy、Pandas、IPython Notebook等。科学界似乎到处都在推荐它。检查水蟒来安装它。

安装OpenCV-Python到Anaconda

注意:我最初尝试按照建议安装binstar.org OpenCV包。然而,该方法不包括FFMPEG编解码器-也就是说,你可以使用OpenCV,但你将无法处理视频。

下面的指令对我来说是受这个OpenCV YouTube视频的启发。到目前为止,我已经让它在我的台式机和笔记本电脑上运行,都是64位的机器和Windows 8.1。

下载OpenCV软件包

首先,去官方OpenCV网站下载完整的OpenCV包。选择一个你喜欢的版本。X或3.x)。我用的是Python 2。OpenCV . 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 3。x,我猜,只是相应地将2.x更改为3.x

# 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

执行此步骤后,我们现在可以在Python代码中使用import cv2。但是,我们仍然需要做更多的工作来让FFMPEG(视频编解码器)工作(使我们能够做像处理视频这样的事情)。

设置环境变量

右键单击“我的电脑”(或Windows 8.1上的“这台电脑”)→左键单击属性→左键单击“高级”选项卡→左键单击“环境变量…”按钮。

添加一个新的用户变量以指向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附加到用户变量PATH

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

之前:

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

后:

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

就这样,我们完了!FFMPEG已经准备好使用了!

测试确认

我们需要测试我们现在是否可以在Anaconda中做这些(通过Spyder IDE):

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

测试1:我们能导入OpenCV吗?

要确认Anaconda现在能够导入OpenCV-Python包(即cv2),请在IPython控制台上发出以下命令:

import cv2
print cv2.__version__

如果导入包cv2没有错误,并且打印出cv2版本,那么一切都很好!以下是快照:

< p > import-cv2-ok-in-anaconda-python-2.png < br > (来源:mathalope.co.uk) < /订阅>

测试2:我们可以使用FFMPEG编解码器吗?

在一个目录中放置一个input_video.mp4示例视频文件。我们想要测试我们是否可以:

  • 读取这个.mp4视频文件,和
  • 写出一个新的视频文件(可以是.avi.mp4等)

为此,我们需要有一个测试Python代码,称为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()

这个测试非常重要。如果你想处理视频文件,你需要确保Anaconda / Spyder IDE可以使用FFMPEG(视频编解码器)。我花了好几天时间才把它修好。但是我希望你能少花些时间!:)

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

结论

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

  1. 官方OpenCV网站下载OpenCV包
  2. cv2.pyd复制并粘贴到Anaconda site-packages目录。
  3. 设置用户环境变量,以便Anaconda知道在哪里可以找到FFMPEG实用程序。
  4. 做一些测试来确认OpenCV和FFMPEG现在可以工作。

好运!

这对我来说很有效(在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测试了下面的代码,没有出现错误:

>>> import cv2
>>>

和其他人一样,我在OS X 10.11上使用Python 3.5.1/Anaconda 2.4.0时遇到了问题。

但我在这里找到了一个兼容的软件包:

https://anaconda.org/menpo/opencv3

它可以像这样通过命令行安装:

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

效果很好。这是我第一次在3.x上使用OpenCV !

要在Anaconda中安装OpenCV,请启动Anaconda命令提示符 和安装OpenCV与

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

测试它是否在Anaconda Spyder或IPython控制台中工作

import cv2

您也可以使用以下命令检查已安装的版本:

cv2.__version__

如果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从源代码构建OpenCV),修改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

你会得到cv2。所以在anaconda/lib/python2.7/site-packages中。

然后:

import cv2
print cv2.__version__

它将打印出2.4.10

我的环境是GCC 4.4.6, Python 2.7 (anaconda)和opencv-2.4.10。

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

试试这个

复制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

使用Wheel文件是一种更简单的方法。如果您不能从命令提示符安装Wheel文件,您可以使用存在于<Anaconda path>/Scripts文件夹中的可执行pip文件。

我在命令提示符中输入了如下命令:

conda install -c menpo opencv=2.4.11

这对我很管用!!

下面的命令也适用于我。我正在Anaconda中使用嵌入式IPython Notebook。

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

我只是想更新精彩的由Atlas7回答

如果你正在使用OpenCV 3,将测试代码更改为以下内容:

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的包的一般方法:

  1. conda search packageName,例如conda search opencv

  2. 如果不返回结果,conda install packageName将不起作用。

  3. 在这一点上,你可以去,https://anaconda.org/并在搜索框中输入packageName。如果这会弹出结果(对于OpenCV应该是这样的),然后点击一个适合你平台的结果(例如win-64)。下一页将显示用于安装此包的命令(例如conda install -c menpo opencv=2.4.11)。

  4. 如果你的包没有通过搜索https://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包的有效方法,只是可能需要解决一些包的版本冲突。

我刚刚在两台Win32 Python 3.5电脑上试了试。起初,我能够conda install opencv,但它不工作,也没有从menpp的版本,但这做到了:

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

使用conda安装OpenCV包,执行以下命令:

conda install -c menpo opencv3=3.1.0

https://anaconda.org/menpo/opencv3

我是这样安装的:

$ conda install --channel https://conda.anaconda.org/conda-forge opencv

我直接尝试了conda install opencv,但它对我不起作用,因为我使用的是Python 3.5,这是conda中默认OpenCV库的更高版本。后来,我尝试了“anaconda/opencv”,但它也不工作。我最终发现conda-forge/opencv适用于Python 3.5。

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

conda config --add channels conda-forge


conda install libopencv opencv py-opencv

来源:

https://github.com/conda-forge/opencv-feedstock

窗户只解决方案。OpenCV 3。为Python 3.x安装pip

下载.whl文件(你有Python M.N的cpMN)。普通发布版包含opencv额外包。例如,假设你有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>中有一个包

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

>>> import cv2
>>>

最初的源代码页面,我把信息在这里

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

其他答案中提到的两个解决方案并不无条件有效:

  • 通过conda install opencvpip install opencv-python得到的conda不支持gtk2,因此不能通过imshow显示图像。
  • 由Menpo构建的Conda (conda install -c menpo opencv3)有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时缺少依赖项和以下错误,如前所述在这里
    • 李< / ul > < / >

    编辑: @Yamaneko指出,截至2017年6月14日,“loopbio的OpenCV 3.2.0版本存在一个问题。无声地读写视频失败。这是由于上游OpenCV问题与旧GCC的结合。更多详细信息在这里。有一个公关正在解决这个问题。”

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

conda install -c conda-forge opencv=3.1.0

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

conda install python=3.5

紧随其后的是

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

我认为跨平台和跨不同版本《Anaconda》的最简单选择是

#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

在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

我在回购中有步骤,将帮助您正确安装OpenCV。

如果链接断了,看这个。

对于要求和先决条件,请遵循以下说明:

你需要有WINDOWS操作系统来开始这个项目。

Windows 7到10

请仔细执行以下步骤

  1. 安装Anaconda2 32/64 python

    安装Anaconda3 32/64 python

    取决于系统信息

    一路上你必须检查所有的选项忽略红色文本

    然后等待安装完成…

    安装完成后打开CMD admin

    确保在CMD admin

    下配置anaconda-python
  2. < p >类型:python

    结果是:

    C:\WINDOWS\system32>python python 3.6.3 |Anaconda custom(64位)|(默认,10/15 2017,03:27:45)

    [MSC v.1900 64位(AMD64)] on win32输入"help", "copyright", "credits"或"license"查看更多信息

  3. 下一步是安装包:

    Numpy

    OpenCV

    PyMySQL或PyMySQL

    安装和导入OpenCV

    Conda install -c Conda -forge opencv =(可选版本)

    (如果有更新请点击是)

    安装并导入Numpy

    PIP安装numpy

    (如果有更新请点击是)

    安装并导入PyMySQL/ PyMySQL

    pip安装PyMySQL或PyMySQL

  4. 当所有的包完全安装,然后你必须重新启动它。

    再次进入CMD admin

    输入“python”

    导入cv2 (cv2为OpenCV)

    import Numpy或Numpy

    进口pymysql

    进口操作系统

    来自PIL from Image

    如果所有的都是ok..你准备好运行代码了!!

    完成所有步骤后,现在可以在SPYDER python中测试代码,我使用

下面从conda-forge安装opencv(注意:在Windows上尝试过)

conda config --add channels conda-forge
conda install opencv

Windows 7, conda 4.4.10 python 2.7.6 从非官方的Windows二进制文件下载了opencv包用于python扩展包。(选择python 2.4 AMD 64) 光盘下载 PIP install opencv_python Python run_some.py (import cv2…)似乎可以工作。 YMMV < / p >

虽然不是通过Conda,这是Ubuntu特有的,安装OpenCV的所有贡献模块,如SIFT和SURF,最简单的方法是使用:

pip install opencv-contrib-python

它支持Python2.7+和Python 3.4+

如果你选择不内置contribs,你可以这样做:

pip install opencv-python

在运行这些命令之前,你需要安装以下依赖项:

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

这是一个关于在Ubuntu上设置OpenCV的好教程: https://medium.com/@debugvn/installing-opencv-3-3-0-on-ubuntu-16-04-lts-7db376f93961 < / p >

如果你想安装opencv 3.4.0, 不幸的是,没有这个版本在conda。您需要使用pip代替。

pip install opencv-python==3.4.0.12

我在MAC机上的一个水蟒虚拟环境。对我来说,

conda install -c conda-forge opencv

工作得很好。

它安装了opencv版本3.4.4

希望能有所帮助。

2019年5月,MacOS的答案如下:

conda update freetype
conda install opencv -c conda-forge

这将更新libfreetype.6.dylib到24.0.0的兼容性,并安装OpenCV 4.1.0。

下面的命令为opencv3添加了一个不同的anaconda通道,你应该能够从中提取。

conda install --channel  https://mirrors.ustc.edu.cn/anaconda/cloud/menpo opencv3

我刚刚在Windows 10中安装了conda 4.7.11。OpenCV可以很容易地安装在Anaconda Navigator中。启动Navigator后,单击左侧面板上的环境。在顶部的下拉菜单中,选择没有安装。然后搜索py-opencv,勾选左边的复选框来安装它。它将安装依赖包libopencv。我使用Spyder中的import cv2来访问它。

enter image description here

我试着按照命令,它工作得很好

Conda install -c Conda -forge opencv

一旦你点击命令,它就会询问yes或no

enter image description here

如果选择“是”,它将继续安装所有所需的软件包

它在anaconda3 windows 10上工作,我已经在2019年12月5日下载了它。

首先,使用这个命令:

pip install opencv-contrib-python

之后,Windows将请求许可并重试:

pip install opencv-contrib-python --user

看看这个,它工作了!!

openCV using anaconda openCV using anaconda < / p >

我认为没有人提到的一件事是,如果你使用的是Windows N或KN版本,请安装用于OpenCV的媒体专题包。 还要确保你有Visual c++ Distributable 安装。 然后你可以使用命令

conda install -c menpo opencv

请按照以下顺序执行以下命令:-

conda update anaconda-navigator
conda update navigator-updater
pip install opencv-python

要在不降级的情况下安装opencv,只需在终端中输入这个 特别是linux mint或基于Ubuntu的发行版

的用户
conda install -c conda-forge opencv

因此,我很确定这不会让你失望。

在我的情况下,我有python 3.9 我这样做在我的conda env和它的工作:

pip install opencv-python==3.4.15.55
pip install opencv-contrib-python==3.4.15.55