opencv-开源计算机视觉python库
OpenCV(开源计算机视觉库:opencv.org)是一个开放源代码库,其中包含数百种计算机视觉算法。该文档介绍了所谓的OpenCV 2.x API,与基于C的OpenCV 1.x API相比,它实际上是C ++ API(自OpenCV 2.4发行以来,C API已被弃用,并且未经“ C”编译器进行测试)。
模块
OpenCV具有模块化结构,这意味着该程序包包含多个共享库或静态库。提供以下模块:
核心功能(core)-定义基本数据结构的紧凑模块,包括密集的多维数组Mat和所有其他模块使用的基本功能。
图像处理(imgproc)-一种图像处理模块,包括线性和非线性图像过滤,几何图像转换(调整大小,仿射和透视变形,基于常规表的重新映射),颜色空间转换,直方图等。
视频分析(video)-视频分析模块,包括运动估计,背景减法和对象跟踪算法。
摄像机校准和3D重构(calib3d)-基本的多视图几何算法,单摄像机和立体摄像机校准,对象姿态估计,立体对应算法以及3D重构要素。
2D要素框架(features2d)-显着特征检测器,描述符和描述符匹配器。
对象检测(objdetect)-检测对象和预定义类的实例(例如,面孔,眼睛,杯子,人,汽车等)。
高级GUI(highgui)-简单的UI功能的易于使用的界面。
视频I / O(videoio)-用于视频捕获和视频编解码器的易于使用的界面。
...其他一些帮助器模块,例如FLANN和Google测试包装器,Python绑定等。
安装
从源代码构建OpenCV
下载并安装Visual Studio和CMake。
将必要的Python软件包下载并安装到其默认位置
确保Python和Numpy正常运行。
通过网盘下载OpenCV源代码,或者也可以从Sourceforge(对于官方发行版)或来自Github(对于最新源)。
将其解压缩到一个文件夹中,在opencv中创建一个新的文件夹。
打开CMake-gui(开始>所有程序> CMake-gui)
如下填写字段(请参见下图):
您将看到所有字段都标记为红色。单击WITH字段将其展开。它决定了您需要哪些额外的功能。因此,请标记适当的字段。
现在,单击“构建”字段以将其展开。前几个字段配置构建方法。
其余字段指定要构建的模块。由于OpenCV-Python尚不支持GPU模块,因此可以完全避免使用它以节省时间(但如果使用它们,则将其保留在此处)。
现在单击“启用”字段将其展开。确保未选中ENABLE_SOLUTION_FOLDERS(Visual Studio Express版本不支持解决方案文件夹)。
还要确保在“ PYTHON”字段中,所有内容都已填充。(忽略PYTHON_DEBUG_LIBRARY)。
最后,单击“生成”按钮。
现在转到我们的opencv / build文件夹。在那里您将找到OpenCV.sln文件。用Visual Studio打开它。
将构建模式检查为Release而不是Debug。
在解决方案资源管理器中,右键单击解决方案(或ALL_BUILD)并进行构建。需要一些时间才能完成。
再次,右键单击INSTALL并进行构建。现在将安装OpenCV-Python。
打开Python IDLE,然后输入“将cv2导入为cv”。如果没有错误,则表明已正确安装。
OpenCV的Python
OpenCV-Python是旨在解决计算机视觉问题的Python绑定库。
Python是由Guido van Rossum发起的通用编程语言,很快就非常流行,主要是因为它的简单性和代码可读性。它使程序员可以用较少的代码行表达想法,而不会降低可读性。
与C / C ++之类的语言相比,Python速度较慢。也就是说,可以使用C / C ++轻松扩展Python,这使我们能够用C / C ++编写计算密集型代码并创建可用作Python模块的Python包装器。这给我们带来了两个好处:首先,代码与原始C / C ++代码一样快(因为它是在后台运行的实际C ++代码),其次,在Python中比C / C ++编写代码更容易。OpenCV-Python是原始OpenCV C ++实现的Python包装器。
OpenCV-Python使用Numpy,这是一个高度优化的库,用于使用MATLAB风格的语法进行数值运算。所有OpenCV数组结构都与Numpy数组相互转换。这也使与使用Numpy的其他库(例如SciPy和Matplotlib)的集成变得更加容易。