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


当前回答

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

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

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

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

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

其他回答

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

conda config --add channels conda-forge

conda install libopencv opencv py-opencv

来源:

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

你链接的页面好像不再包含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版本。

在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的结合。详情请点击这里。有一个公关正在解决这个问题。”

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

conda install python=3.5

紧随其后的是

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

和其他人一样,我在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 !