我试图通过Anaconda为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的文档?


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

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

Download OpenCV from https://opencv.org/releases/ and extract From the extracted folder, copy the file from the extracted directory: opencv/build/python/2.7/(either x86 or x64, depending on your Anaconda version)/cv2.pyd to your Anaconda site-packages directory, e.g., C:\Anaconda\Lib\site-packages To get FFmpeg within opencv to work, you'll have to add the directory that FFmpeg is located in to the path (e.g., opencv/sources/3rdparty/ffmpeg). Then you'll have to find the DLL file in that folder (e.g., opencv_ffmpeg_64.dll) and copy or rename it to a filename that includes the opencv version you are installing, (e.g., opencv_ffmpeg249_64) for 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安装程序安装它,你可以在这个网站上找到:

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

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

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

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


我总结了我现在完全工作的解决方案,OpenCV-Python -如何安装OpenCV-Python包到Anaconda (Windows)。尽管如此,我还是把重要的部分复制粘贴到了这篇文章中。


在撰写本文时,我使用的是Windows 8.1, 64位机器,Anaconda/ Python 2.x。(参见下面的注释-这也适用于Windows 10,可能适用于Python 3。x)。

NOTE 1: as mentioned mentioned by @great_raisin (thank you) in comment section however, this solution appears to also work for Windows 10. NOTE 2: this will probably work for Anaconda/Python 3.x too. If you are using Windows 10 and Anaconda/Python 3.x, and this solution works, please add a comment below. Thanks! (Update: noting from comment "Working on Windows 10") NOTE 3: depending on whether you are using Python 2.x or 3.x, just adjust the print statement accordingly in code snippets. i.e. in Python 3.x it would be print("hello"), and in Python 2.x it would be print "hello".

博士TL;

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

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

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

先决条件

安装水蟒

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软件包。选择一个你喜欢的版本。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代码中使用导入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版本,那么一切都很好!以下是快照:

(来源: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,我们需要:

OpenCV软件包请从OpenCV官方网站下载 复制并粘贴cv2。pyd到Anaconda site-packages目录。 设置用户环境变量,以便Anaconda知道在哪里可以找到FFMPEG实用程序。 做一些测试来确认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 opencv或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…),修改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的包的一般方法:

conda search packageName e.g. conda search opencv If this doesn't return results, conda install packageName will not work. At this point you can go to, https://anaconda.org/ and type the packageName into the search box. If this pulls up results (which it should for OpenCV), then click on one of the results that is for your platform (e.g. win-64). The next page will show you the command to use to install this package (e.g. conda install -c menpo opencv=2.4.11). If your package doesn't return results by search https://anaconda.org, then you can try pip install packageName.

注意:当我使用步骤3为win-64安装OpenCV时,当我试图导入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安装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直接安装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


Windows专用解决方案。OpenCV 3。为Python 3.x安装pip

下载.whl文件(cpMN,其中有Python M.N)。contrib包含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列表中会有一个包: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`

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

The conda you get through conda install opencv or pip install opencv-python doesn't have gtk2 support, so you can't display images through imshow. Conda built by Menpo (conda install -c menpo opencv3) has gtk2 support, but they have only built OpenCV 3.2 for Python 3.5, not Python 3.6 Ubuntu 16.10 has deprecated libpng12, leading to a missing dependency and the following error when trying to import cv2: ImportError: libpng12.so.0: cannot open shared object file: No such file or directory, as discussed here

编辑:@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

or

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

3.2使用这个:

conda install -c menpo opencv3

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

如果链接断了,看这个。

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

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

Windows 7到10

请仔细执行以下步骤

Install Anaconda2 32/64 python 2 or Install Anaconda3 32/64 python 3 It Depends on System Information Along the way you must check all the options ignore the red text Then wait till installation completed ... Open CMD admin when finish installed Make sure that the anaconda-python is configured in CMD admin Type: python This will come out: C:\WINDOWS\system32>python Python 3.6.3 |Anaconda custom (64-bit)| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Next is to install packages: Numpy OpenCV PyMySQL or pymysql Install and Import OpenCV conda install -c conda-forge opencv = (version optional) (click yes if there's updates) Install and Import Numpy pip install numpy (click yes if there's updates) Install and Import PyMySQL/pymysql pip install PyMySQL or pymysql When all the package is completely installed, then you must Reboot it. go to CMD admin again type "python" import cv2 (cv2 is OpenCV) import Numpy or numpy import pymysql import os from PIL from Image if all of then is ok.. your ready to run the code!! After you finish all the steps, you can now test the code in SPYDER python that I use


下面从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


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

PIP安装opencv-contrib-python

它支持Python2.7+和Python 3.4+

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

PIP安装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


如果你想安装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后,单击左侧面板上的Environments。在顶部的下拉菜单中,选择“未安装”。然后搜索py-opencv,勾选左边的复选框来安装它。它将安装依赖包libopencv。我在Spyder中使用import cv2来访问它。


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

Conda install -c Conda -forge opencv

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

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


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

首先,使用这个命令:

PIP安装opencv-contrib-python

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

PIP安装opencv-contrib-python——user

看看这个,它工作了!!


我想没有人提到的一件事是,如果你使用的是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