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


当前回答

我认为跨平台和跨不同版本《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

其他回答

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

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

conda install -c https://conda.binstar.org/menpo 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

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

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

我只是想更新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()