1.目录注释
3rdparty:包含静止图像的解编码器的库文件和头文件
apps:包含进行Haar分类器训练的工具
data:包含OpenCV库及范例中用到的资源文件
doc:包含生成文档所需的源文件寄辅助脚本
include:包含入口头文件
modules:算法模块的源代码
2.modules目录注释
opencv_calib3d:包含
- Calibration(校准)加3D的组合缩写
- 相机标定和三维重建。
- 基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等
- 相机标定用于取出相机自身缺陷导致的画面形变,还原真实的场景,确保计算的准确性。
- 三维重建通常用在双目视觉(立体视觉),即两个标定后的摄像头观察同一个场景,通过计算两幅画面中的相关性来估计像素深度。
core:核心功能模块包含
- OpenCV基本的数据结构
- 动态数据结构
- 绘图函数
- 数组操作相关函数
- 辅助功能与系统函数和宏
- 与OpenGL的互操作
dnn:深度学习模块,提供推理功能不涉及模型的训练,支持多种深度学习框架,比如TensorFlow,Caffe,Torch和Darknet
opencv_features2d:2d特征值检测框架,各种特征值检测器及描述子,如 FAST、MSER、OBRB、BRISK 等。各类特征值拥有统一的算法接口,因此在不影响程序逻辑的情况下可以替换,包含
- 特征检测和描述
- 特征检测器(Feature Detectors)通用接口
- 描述符提取器(Descriptor Extractors)通用接口
- 描述符匹配器(Descriptor Matchers)通用接口
- 通用描述符(Generic Descriptor)匹配器通用接口
- 关键点绘制函数和匹配功能绘制函数
opencv_flann:Fast Library for Approximate Nearest Neighbors,高维的近似近邻快速搜索算法库,包含:
- 快速近似最近邻搜索
- 聚类,用于在多维空间内聚类及搜索的近似算法
opencv_gapi:是一个让常规图像处理变得更快、更轻量的新模块,实现的是框架而不是具体的CV算法,目前正在活跃开发还不稳定(4.5版本)
opencv_highgui:高级图形界面,包括用户界面、Qt
high gui,高层GUI图形用户界面,包含
- 媒体的I/O输入输出,
- 视频捕捉、
- 图像和视频的编码解码、
- 图形交互界面的接口
opencv_imgproc:Image Processing(图像处理) 缩写
图像处理模块,包含
- 线性和非线性的图像滤波
- 图像的几何变换
- 其它(Miscellaneous)图像转换
- 直方图相关
- 结构分析和形状描述
- 运动分析和对象跟踪
- 特征检测
- 目标检测等内容
图像处理是计算机视觉的重要工具。
opencv_ml:Machine Learning,机器学习模块, 基本上是统计模型和分类算法,包含
- 统计模型 (Statistical Models)
- 一般贝叶斯分类器 (Normal Bayes Classifier)
- K-近邻 (K-NearestNeighbors)
- 支持向量机 (Support Vector Machines)
- 决策树 (Decision Trees)
- 提升(Boosting)
- 梯度提高树(Gradient Boosted Trees)
- 随机树 (Random Trees)
- 超随机树 (Extremely randomized trees)
- 期望最大化 (Expectation Maximization)
- 神经网络 (Neural Networks)
- MLData
opencv_objdetect:目标检测模块,包含
- Cascade Classification(级联分类)
- Latent SVM
包括 Haar 分类器、SVM 检测器及文字检测
opencv_photo:计算摄影学,包括
- 图像修补
- 去噪
- HDR 成像
- 非真实感渲染等,实现 Photoshop 的高级功能
opencv_stitching:图像拼接模块,包含
- 拼接流水线
- 特点寻找和匹配图像
- 估计旋转
- 自动校准
- 图片歪斜
- 接缝估测
- 曝光补偿
- 图片混合,可用于制作全景图
opencv_video:视频分析组件,包括
- 运动估计,
- 背景分离,
- 对象跟踪