猿问
下载APP

如何通过Conda安装Python OpenCV?

我正在尝试通过Anaconda安装OpenCV for Python ,但我似乎无法弄清楚这一点。


我试过了


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的文档?


慕瓜9086354
浏览 109回答 3
3回答

慕盖茨1488219

您可以使用binstar安装它:conda install -c menpo opencv

精慕HU

这对我有用(在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>>>

狐的传说

我总结了我现在完全正常工作的解决方案,OpenCV-Python - 如何将OpenCV-Python软件包安装到Anaconda(Windows)。不过,我已经将重要的内容复制并粘贴到这篇文章中。在撰写本文时,我使用的是Windows 8.1,64位机器,Anaconda / Python 2.x. (参见下面的注释 - 这也适用于Windows 10,也可能适用于Python 3.x)。注1:正如@great_raisin(谢谢)在评论部分提到的那样,这个解决方案似乎也适用于Windows 10。注2:这也可能适用于Anaconda / Python 3.x. 如果您使用的是Windows 10和Anaconda / Python 3.x,并且此解决方案有效,请在下面添加评论。谢谢!注3:根据您使用的是Python 2.x还是3.x,只需print在代码片段中相应地调整语句即可。即在Python 3.x中它将是print("hello"),而在Python 2.x中它将是print "hello"。TL; DR要与Anaconda(和Spyder IDE)完全一起使用OpenCV,我们需要:从OpenCV 官方网站下载OpenCV软件包复制并粘贴cv2.pyd到Anaconda site-packages目录。设置用户环境变量,以便Anaconda知道在哪里可以找到FFMPEG实用程序。做一些测试以确认OpenCV和FFMPEG现在正在运行。(继续阅读详细说明......)条件安装AnacondaAnaconda本质上是一个包装精美的Python IDE,附带了大量有用的软件包,如NumPy,Pandas,IPython Notebook等。似乎建议科学界的所有地方使用。检查Anaconda以安装它。将OpenCV-Python安装到Anaconda谨慎注意:我最初尝试按照建议安装binstar.org OpenCV软件包。然而,该方法不包括FFMPEG编解码器 - 即您可以使用OpenCV,但您将无法处理视频。以下说明适用于我,受此OpenCV YouTube视频的启发。到目前为止,我已经在我的台式机和笔记本电脑上工作,包括64位机器和Windows 8.1。下载OpenCV包首先,访问OpenCV官方网站下载完整的OpenCV软件包。选择你喜欢的版本(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文件复制并粘贴到此目录中(以便我们可以import cv2在Python代码中使用它)。为此,请复制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执行此步骤后,我们现在可以import cv2在Python代码中使用。但是,我们仍然需要做更多工作才能使FFMPEG(视频编解码器)工作(使我们能够处理视频等事情)。设置环境变量右键单击“我的电脑”(或Windows 8.1上的“此PC”)→左键单击属性 →左键单击“高级”选项卡→左键单击“环境变量...”按钮。添加新的用户变量以指向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 cv2print cv2.__version__如果包cv2被导入OK没有错误,并cv2打印出版本,那么我们都很好!这是一个快照:import-cv2-ok-in-anaconda-python-2.png http://mathalope.co.uk/wp-content/uploads/2015/07/import-cv2-ok-in-anaconda-python-2.png测试2:我们可以使用FFMPEG编解码器吗?将示例input_video.mp4视频文件放在目录中。我们想测试一下我们是否可以:阅读此.mp4视频文件,和写出一个新的视频文件(可以是.avi或.mp4等)要做到这一点,我们需要有一个测试Python代码,调用它test.py。将其放在与示例input_video.mp4文件相同的目录中。这test.py可能是这样的(我在这里列出了新旧版本代码 - 让我们知道哪一个适用于你/哪个不适合你!)。(较新版本......)import cv2cap = 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 cv2cv2.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现在正在运行。
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答