OpenCV提供了Python接口,主要特性包括:
- 提供与OpenCV 2.x中最新的C++接口极为相似的Python接口,并且包括C++中不包括的C接口
- 提供对OpenCV 2.x中所有主要部件的绑定:CxCORE (almost complete), CxFLANN (complete), Cv (complete), CvAux (C++ part almost complete, C part in progress), CvVidSurv (complete), HighGui (complete), and ML (complete)
- 在Python中访问C++中的数据结构
- 完善的内存管理,使用者无须担心内存的问题
- 可以在 OpenCV 的 Mat 与 wxWidgets, PyGTK, and PIL 中使用的 arrays 互相转换
比起C++,Python适合做原型。这里介绍如何配置OpenCV 2.4.9+Python2.7.9,以便在Python中使用OpenCV图形库。
64版本。whl文件的安装步骤如下:
- 将下载的NumPy包移动到python安装位置(笔者的路径为C:\Python27)下的Scripts文件夹
- Shift+右键打开命令窗口cmd,输入:
pip install wheel
安装wheel模块。 - wheel安装成功后,在命令窗口中键入以下命令即安装成功:
cd c:/Python27/Scripts
pip install numpy-1.9.2rc1+mkl-cp27-none-win_amd64.whl
2.下载链接:
下载完成后,运行文件numpy-MKL-1.8.0.win-amd64-py2.7.exe,一步一步安装即可。
简单的配置
在opencv文件夹中,找到build->python->2.7,其中包含x86和x64两个文件夹,由于这里安装的python和NumPy均为64位版本,因此复制x64文件夹中的cv2.pyd文件到C:\Python27\Lib\site-packages 中即可。
为了测试安装和配置是否成功,可以打开opencv\sources\samples\python中的例程,如:camera.py,正常情况下即可调用电脑的默认摄像头:
或者双击运行drawing.py,如果没有问题应该看到彩色条纹。
文件夹包含许多例程,其中一些在打开后只是一闪而过,一种原因是程序需要若干参数,这里只是验证配置是否正确,若要跑通所有例程,还是要打开代码看看。事实上,opencv里的很多宏在python里需要加上cv2.cv前缀即可生效。