我试图通过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 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。

其他回答

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

原始的源代码页面,我采取的信息是在这里。

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

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

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

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

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

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