在使用OpenCV一段时间,但一直没认真搞过这个开源库各个文件夹中所含代表的是什么。今天通过查阅资料,了解到各个组件功能,本来用Mindmanager做了个思维导图,但可惜图片生成后扩展太大,无法显示,就弄成大纲形式吧,给自己提个醒。

OpenCV组件结构 (2.3.1版本)
  3rdparty
     包含第三方库的实现代码, 如zlib,ffmpeg,libjpeg等 android
     android开发相关文件 build 
     用于编译程序的lib文件 和运行exe的dll文件 include
       Opencv
         原先旧版本的头文件,可作为整体一个组件
       Opencv2
         calib3d
           是Calibration(校准)加3D这两个词的组合缩写。这个模块主要是相机校准和三维重建相关的内容。 基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体          相似性算法,3D信息的重建等等。
         contrib
           是Contributed/ExperimentalStuf的缩写,该模块包含了一 些最近添加的不太稳定的可选功能,不用去多管。
         core
           核心功能模块
           OpenCV基本数据结构 动态数据结构 绘图函数 数组操作相关函数 辅助功能与系统函数和宏 与OpenGL的互操作
       imgproc
           Image和Processing这两个单词的缩写组合。图像处理模块
           线性和非线性的图像滤波 图像的几何变换 其它(Miscellaneous)图像转换 直方图相关 结构分析和形状描述 运动分析和对象跟踪 特征检测 目标检测等内容
         features2d
           是Features2D, 2D功能框架
           特征检测和描述 特征检测器(FeatureDetectors)通用接口 描述符提取器(DescriptorExtractors)通用接口 描述符匹配器(DescriptorMatchers)通用接口 通用描述符(GenericDescriptor)匹配器通用接口 关键点绘制函数和匹配功能绘制函数 
         flann
           Fast Library for ApproximateNearest Neighbors,高维的近似近邻快速搜索算法库
           快速近似最近邻搜索 聚类 
         gpu
           运用GPU加速的计算机视觉模块
         highgui
           就是high gui,高层GUI图形用户界面
           包含媒体的I / O输入输出, 视频捕捉、 图像和视频的编码解码、 图形交互界面的接口等内容
         legacy
           一些已经废弃的代码库,保留下来作为向下兼容
           运动分析 期望最大化 直方图 平面细分(C API) 特征检测和描述(Feature Detection and Description) 描述符提取器(Descriptor Extractors)的通用接口 通用描述符(Generic Descriptor Matchers)的常用接口 匹配器 
         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 
         objdetect
           目标检测模块
           包含Cascade Classification(级联分类)和Latent SVM这两个部分 
         ts
           opencv测试相关代码
         video
           视频分析组件
           该模块包括运动估计 背景分离, 对象跟踪等视频处理相关内容
     其他非关键文件夹   data  
     数据文件,如机器学 习输出的xml文件   samples
     示例代码   modules
     opencv中各模块的源文件   include 
     头文件   doc
     帮助文档