如何通过Conda安装python opencv?
我试图通过anaconda安装python的opencv,但我似乎无法弄清楚这一点。
我试过了
conda install opencv conda install cv2
我也试过search
conda search cv
没有雪茄。 我跑过这个列表opencv作为一个包含的包:
http://docs.continuum.io/anaconda/pkgs.html
运行conda info
我注意到我的版本是3.4.1,但我似乎无法find任何有关此版本的信息在线。 我对此很困惑。
我在这里错过了很明显的东西吗? 如果opencv可用于以前版本的anaconda,那为什么不能用于新版本? 为什么这个链接只显示我1.9.2版本的文档?
您可以使用binstar安装它:
conda install -c menpo opencv
这工作对我来说(在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中testing没有错误:
>>> import cv2 >>>
conda install opencv
目前适用于UNIX / python2。 在咨询其他解决scheme之前,这是值得尝试的。
我总结了我现在完全可行的解决schemeOpenCV-Python – 如何安装OpenCV-Python包到Anaconda(Windows) 。 不过,我已经复制并粘贴了这个post的重要部分。
目前,我正在使用Windows 8.1和64位机器Anaconda作为Python 2.x的IDE。
注意:如果您使用的是Windows 10(或更高版本),并且以下说明适用,请您添加评论吗? 这将帮助社区很多! 🙂
TL; DR
要在Anaconda(和Spyder IDE)中完全使用OpenCV,我们需要:
- 从官方OpenCV站点下载OpenCV软件包
- 将
cv2.pyd
复制并粘贴到Anaconda site-packages目录。 - 设置用户环境variables,以便Anaconda知道在哪里可以findFFMPEG工具。
- 做一些testing来确认OpenCV和FFMPEG正在工作。
(请阅读详细说明…)
条件
安装Anaconda
Anaconda本质上是一个很好的打包的Python IDE,它附带了大量有用的软件包,比如NumPy,Pandas,IPython Notebook等等。似乎科学界正在推荐这个软件。 检查出python得到它安装。
安装OpenCV-Python到Anaconda
谨慎注意:我最初尝试安装binstar.org opencv软件包,build议。 然而,这种方法不包括FFMPEG编解码器 – 即你可能能够使用OpenCV,但你将无法处理video。
以下说明适用于我的OpenCV Youtubvideo 。 到目前为止,我已经在我的桌面和笔记本电脑上工作了。 64位机器和Windows 8.1。
下载OpenCV包
首先,到官方OpenCV站点下载完整的OpenCV软件包。 select一个你喜欢的版本(2.x或3.x)。 我在Python 2.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 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
执行import cv2
这一步后,我们现在可以在Python代码中使用import cv2
了。 但是,我们仍然需要做更多的工作来获得FFMPEG(video编解码器)的function(使我们能够处理video等)。
设置环境variables
右键单击“我的电脑”(或Windows 8.1上的“本电脑”) – >左键单击属性 – >左键单击“高级”选项卡 – >左键单击“环境variables…”button。
添加一个新的用户variables指向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
附加到用户variablesPATH
。
例如,我的PATH
用户variables看起来像这样…
之前:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts
后:
C:\Users\Johnny\Anaconda;C:\Users\Johnny\Anaconda\Scripts;%OPENCV_DIR%\bin
这就是我们完成了! FFMPEG准备好了!
testing确认
我们需要testing我们现在是否可以在Anaconda(通过Spyder IDE)完成这些工作:
- 导入OpenCV包
- 使用FFMPEG实用程序(读取/写入/处理video)
testing1:我们可以导入OpenCV吗?
为了保证Anaconda现在可以导入OpenCV-Python包(即cv2
),请在IPython控制台中发布这些包:
import cv2 print cv2.__version__
如果软件包cv2
导入正常,没有错误,并且cv2
版本被打印出来,那么我们都很好! 这是一个快照:
import-cv2-ok-in-anaconda-python-2.png wp-content/uploads/2015/07/import-cv2-ok-in-anaconda-python-2.png
testing2:我们可以使用FFMPEG编解码器吗?
将一个示例input_video.mp4
video文件放在一个目录中。 我们要testing我们是否可以:
- 阅读这个
.mp4
video文件,并且 - 写出一个新的video文件(可以是
.avi
或.mp4
等)
要做到这一点,我们需要有一个testingPython代码,称之为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()
这个testing是非常重要的。 如果你想处理video文件,你需要确保Anaconda / Spyder IDE可以使用FFMPEG(video编解码器)。 花了我好几天才得到它的工作。 但我希望这会花更less的时间! 🙂
注意:使用Anaconda Spyder IDE时,还有一个非常重要的提示。 确保你检查当前工作目录(CWD)!
结论
要在Anaconda(和Spyder IDE)中完全使用OpenCV,我们需要:
- 从官方OpenCV站点下载OpenCV软件包
- 将
cv2.pyd
复制并粘贴到Anaconda site-packages目录。 - 设置用户环境variables,以便Anaconda知道在哪里可以findFFMPEG工具。
- 做一些testing来确认OpenCV和FFMPEG正在工作。
祝你好运!
似乎不像你链接的页面包括opencv了。 (有趣的是,我确实记得它也包含在前一个点上。)
在任何情况下,安装OpenCV到Anaconda,虽然不能通过conda,是相当微不足道的。 你只需要下载一个文件。
- 从http://opencv.org/downloads.html下载OpenCV并解压;
- 从提取的文件夹中,将解压后的目录中的文件复制到您的Anaconda站点软件包目录,例如C:\ opencv / build / python / 2.7 /(x86或x64,取决于您的Anaconda版本)/cv2.pyd。python\ LIB \站点包
- 要在opencv中使用ffmpeg,你必须将ffmpeg所在的目录添加到path中(例如opencv / sources / 3rdparty / ffmpeg)。 然后,你必须find该文件夹中的dll(例如,opencv_ffmpeg_64.dll), 并将其复制或重命名为包含正在安装的opencv版本的文件名(例如,opencv_ffmpeg249_64)。
现在在python提示符下,你应该能够input“import cv2”…来validation它是否有效,input“print cv2 .__ version__”,它应该打印出你下载的OpenCV版本。
要在Anaconda中安装opencv,请启动Anaconda命令提示符,然后安装opencv
conda install -c https://conda.anaconda.org/menpo opencv3
testing它在你的Anaconda Spyder或IPython控制台中工作
import cv2
您也可以使用检查安装的版本
cv2.__version__
我有完全相同的问题,无法获得conda安装OpenCV。 不过,我设法使用在此站点上find的OpenCV安装程序进行安装:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
他的文件是可以用pip安装的“Wheel”whl文件,例如
pip安装SomePackage-1.0-py2.py3-none-any.whl
在一个命令窗口中。 它执行这个命令后,直接与Spyder工作。 我曾经有过与其他套餐相同的经历,上面的加州尔湾地区是一个金矿。
我在命令提示符下input了以下命令:
conda install -c menpo opencv=2.4.11
这对我工作!
您可以通过在Anaconda命令提示符下运行以下命令来安装OpenCV 3:
conda install -c menpo opencv3
它在Windows 10和Ubuntu 14中工作。
来源: https : //anaconda.org/menpo/opencv3
要在Windows-64和Python 3.5上使用conda安装OpenCv,唯一为我工作的是:
conda install -c conda-forge opencv=3.1.0
像其他人一样,我在OS X 10.11上遇到了Python 3.5.1 / Anaconda 2.4.0的问题。
但是我在这里find了一个兼容的包:
https://anaconda.org/menpo/opencv3
它可以通过命令行来安装,如下所示:
conda install -c https://conda.anaconda.org/menpo opencv3
像魅力一样工作。 我第一次使用OpenCV来处理3.x!
在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`
在其他答案中提到的两个解决scheme不能无条件地工作:
- conda你通过
conda install opencv
或者pip install opencv-python
没有gtk2的支持,所以你不能通过imshow
显示图片。 - 由门坡build造的Conda(conda
conda install -c menpo opencv3
)支持gtk2,但是- 他们只为Python 3.5构build了OpenCV 3.2,而不是Python 3.6
- Ubuntu 16.10已经废弃了
libpng12
,导致缺less依赖关系,并在尝试import cv2
时出现以下错误:ImportError: libpng12.so.0: cannot open shared object file: No such file or directory
,如此处所述
编辑: @Yamaneko指出,截至2017年6月14日,“loopbio的OpenCV 3.2.0版存在一个问题,它默默无法读写video,这是由于上游OpenCV问题与老海湾合作委员会。更多细节在这里 。有一个公关正在解决这个问题。“
我认为应该跨平台和跨Anaconda的各种版本工作的最简单的select是
#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
Windows只解决scheme。 用于Python 3.x的OpenCV 3.x pip安装
下载.whl文件( cp MN,你有Python MN)。 contrib包含OpenCV-extra软件包。 例如,假设你有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>
现在你可以testing它(没有错误):
>>> import cv2 >>>
我在这里获取信息的原始源页面。
一个简单而直接的解决scheme是在安装opencv3之前首先安装python3.5
conda install python=3.5
其次是
conda install --channel https://conda.anaconda.org/menpo opencv3
conda install -c https://conda.anaconda.org/menpo opencv
尝试这个
我刚刚尝试了两台win32 Python 3.5电脑。 在第一次,我能conda install opencv
但它没有工作,也没有从menpp的版本,但这做了conda conda install -c https://conda.binstar.org/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
GL
如果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从源代码构buildOpenCV” ),更改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
你会在anaconda/lib/python2.7/site-packages
findcv2.so然后
import cv2 print cv2.__version__
它会打印出2.4.10
我的环境是gcc 4.4.6,python 2.7(anaconda),opencv-2.4.10。
您只需将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
以下命令也适用于我。 我在aacoda中使用embedded的Ipython Notebook。
conda install -c https://conda.binstar.org/menpo opencv
只想更新atlas7的辉煌答案
如果您使用opencv3将testing代码更改为以下内容:
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 install --channel https://conda.anaconda.org/conda-forge opencv
我像上面安装。 我尝试conda直接安装opencv,但它不适用于我,因为我使用Python 3.5是更高的版本,在conda默认opencv库。 后来,我尝试了“anaconda / opencv”,但它也不起作用。 我终于发现conda-forge / opencv适用于Python 3.5。
使用Wheel文件是更简单的方法。 如果无法在命令提示符下安装Wheel文件,则可以使用存在于/ Scripts文件夹中的可执行pip文件。
以下是使用conda为python安装软件包的一般方法:
1) conda search packageName
例如conda search opencv
2)如果这不返回结果, conda install packageName
将不起作用
3)现在,您可以访问https://anaconda.org/并在search框中inputpackageName。; 如果这样做的结果(它应该为opencv),然后点击你的平台的结果之一(例如win-64)。 下一页将显示用于安装此软件包的命令(例如, conda install -c menpo opencv=2.4.11
)。
4)如果你的包没有通过searchhttps://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软件包的有效方法,可能需要解决一些软件包版本冲突。
我试图在我的Raspberry Pi(Raspibian OS)上使用Minoconda,但是我无法获得我的平台的Open CV。 最后,下面的命令工作:
$ sudo apt-get install ipython python-opencv python-scipy python-numpy python-setuptools python-pip
我面临同样的问题,但现在解决了。 这就是我所做的:
首先在命令提示符下inputconda install -c https://conda.binstar.org/menpo opencv
,然后findAnaconda\pkgs\opencv-2.4.9.1-np19py27_0\Lib\site-packages
这个path。 现在把这里存在的所有文件复制到Anaconda\Lib\site-packages
。 现在你将能够使用Python的OpenCV。