第一章
1.1 认识OpenCV
OpenCV的全名是Open Source Computer Vision Library,是因特尔(Inter)内部的研究计划,其目的是为了推广其高端CPU的应用。OpenCV的最初版本是在2000年举行的IEEE计算机图像与图案识别大会(Computer Vision and Pattern Recognition)上发布的,目前由非营利性基金组织OpenCV负责维护。
OpenCV包含了许多关于计算机图像转换、图像处理以及其他的数学运算处理的功能,它是由许多模块组合而成的,这些模块主要都与图像处理相关。各模块的功能如下表所示。
模块组 | 各模块的功能 |
---|---|
Core | 数据类型、数据结构、内存管理 |
HighGUI | 读取图形文件、屏幕输入/输出处理、简单的UI功能 |
ImgProc | 图形滤波(filtering)、几何图形转换、形状分析 |
Calib3d | 照相机校准(camera calibration)、多视角三维重建 |
Feature2D | 特征提取、描述与对比 |
Video | 视频对象跟踪与移动分析 |
Objdetect | 使用级联式(cascade)与方向梯度直方图(histogram-of-gradient)分类器进行对象识别 |
ML | 用于视频处理的统计模式与归类算法 |
FLANN | 全名是 Fast Library For Approximate Nearest Neighbors,用于高维度数据的快速搜索 |
GPU | 以选择的并行算法在GPU快速执行 |
Stitching | 视频结合处理(stitching)的方法:弯曲、混合、集束调整(bundle adjustment) |
Viz | OpenCV主要是用于处理二维的图像的,这一模块就是使用VTK三维的功能来进行三维图像处理 |