OpenCV源码目录结构

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:视频分析组件,包括

  • 运动估计,
  • 背景分离,
  • 对象跟踪

你可能感兴趣的:(技术,opencv,学习,计算机视觉)