1.2 在 Windows 下安装 OpenCV-Python
目标
在这个教程中:我们将学习在 Windows 操作系统下配置 OpenCV-Python 开发环境,下面的步骤在 Visual Studio 2010 和 Visual Studio 2012 的 Windows 7-64 位机器上通过了测试。屏幕截图显示的是使用 VS2012 的运行结果。
从预编译的二进制包安装
下面的Python包需要被下载并安装到它们的默认位置。
- Python-2.7.x.
- Numpy.
- Matplotlib(Matplotlib是可选的,但是我们推荐安装它,因为我们在教程中大量使用了这个库)
将所有这些包安装到它们默认的位置上,Python将会被安装到C:/Python27/。
在安装完成后,打开Python IDLE,输入import numpy
来确定Numpy工作正常。
从sourceforge 网站下载最新的OpenCV发布版本,并双击解压它。
进入opencv/build/python/2.7文件夹。
将cv2.pyd复制到C:/Python27/lib/site-packages。
打开Python IDLE并输入下面的代码:
>>> import cv2
>>> print( cv2.__version__ )
如果输出被顺利地打印在屏幕上,并且没有报错的话,那么祝贺你,安装成功了!
从源码构建 OpenCV
下载安装Visual Studio 和 CMake。
下载必要的Python包,并安装到默认位置:
- Python 2.7.x
- Numpy
- Matplotlib(Matplotlib是可选的,但是我们推荐安装它,因为我们在教程中大量使用了这个库)
我们将使用 Python 包的 32 位二进制文件。 但如果你想使用OpenCV for x64,则需要安装Python包的64位二进制文件。 问题是Numpy官方没有提供预编译的64位二进制文件。 你必须自己构建它。 为此,你必须使用用于构建Python的相同编译器。 当你启动 Python IDLE 时,它会显示编译器细节。 你可以 在这里 获取更多信息。因此,您的系统必须具有和编译Python所用的相同的Visual Studio版本,并从源代码构建 Numpy。
另一种使用 64 位 Python 包的方法是使用现成的Python第三方发行版,Anaconda、Enthought等等。它的大小可能会大些,但其中包含所有你需要用到的东西。所有的东西都在一个shell里了。你也可以使用它们的32位版本。
确保Python和Numpy正常工作。
下载OpenCV源码,可以从 Sourceforge (官方发布版) 或 Github (最新源码)下载。
解压到一个文件夹opencv并在其中建立一个新的build文件夹。
打开 CMake-gui( 开始 > 所有程序 > CMake-gui)
像下面这样填写:
- 点击Browse Souce…并定位到opencv文件夹。
- 点击Browse Build…并定位到我们创建的build文件夹。
- 点击 Configure。
它会打开一个新窗口来让你选择编译器,选择合适的编译器(这里是Visual Studio 11)并点击Finish。
- 等待 analysis 过程结束
- 你可以看到所有的fields都是红的。点击WITH展开它。它决定了你需要什么额外的特性。钩上合适的fields。
- 点击BUILD展开他。一开始的一些fields配置了构建方法。
- 剩下的fields指明了要构建哪些模组。因为GPU模组还没有被OpenCV-Python支持,你可以完全不构建他们来节约编译时间(但如果你需要在其他语言绑定中使用有GPU支持的OpenCV,你可以保留他们)。
- 展开ENABLE,确保ENABLE_SOLUTION_FOLDERS没有被勾选(Solution folders并不被Visual Studio Express edition支持)。
- 确保在PYTHON一栏中,一切都被填充好了。(忽略
PYTHON_DEBUG_LIBRARY
)。 - 最终点击 Generate 按钮。
- 现在进入 opencv/build 文件夹。你将会发现OpenCV.sln文件。用Visual Studio打开它。
- 将构建模式从 Debug 切换到 Release。
- 在 solution explorer 中,右击 Solution (或 ALL_BUILD) 然后构建。这会花上一些时间。
- 右击 INSTALL 然后构建它。现在 OpenCV-Python 就被安装好了。
- 打开 Python IDLE 并输入
import cv2
,如果没有错误,那就是安装好了。
我们没有安装 TBB,Eigen,Qt,Documentation 等其他支持。怎么安装它们这里很难解释。我们很快就会添加一个更详细的视频,或者你可以自己做一些hack和尝试。
练习
如果你有一台 Windows 机器,从源代码编译 OpenCV。 进行各种 hack。 如果遇到任何问题,请来 OpenCV 论坛提问并解释您的问题。