一共两个文件夹,opencv和opencv2两个文件件。
opencv包含着旧版的头文件。
opencv2包含着具有时代意义的新版的Opencv2系列的头文件。
opencv这个文件夹包含各种头文件。这里面大概是opencv1.0最核心的,而且是保留下来的内容的头文件,可以把它看成整体理解为一个组件。
opencv2下opencv_modules.hp文件,存放的是opencv2中的新模块构造相关的说明代码,定义的是OpenCV2所有组件的宏:
#define HAVE_OPENCV_ARUCO
#define HAVE_OPENCV_BGSEGM
#define HAVE_OPENCV_CALIB3D
#define HAVE_OPENCV_CCALIB
#define HAVE_OPENCV_CORE
#define HAVE_OPENCV_DATASETS
#define HAVE_OPENCV_DNN
#define HAVE_OPENCV_DPM
#define HAVE_OPENCV_FACE
#define HAVE_OPENCV_FEATURES2D
#define HAVE_OPENCV_FLANN
#define HAVE_OPENCV_FUZZY
#define HAVE_OPENCV_HDF
#define HAVE_OPENCV_HIGHGUI
#define HAVE_OPENCV_IMG_HASH
#define HAVE_OPENCV_IMGCODECS
#define HAVE_OPENCV_IMGPROC
#define HAVE_OPENCV_LINE_DESCRIPTOR
#define HAVE_OPENCV_ML
#define HAVE_OPENCV_OBJDETECT
#define HAVE_OPENCV_OPTFLOW
#define HAVE_OPENCV_PHASE_UNWRAPPING
#define HAVE_OPENCV_PHOTO
#define HAVE_OPENCV_PLOT
#define HAVE_OPENCV_REG
#define HAVE_OPENCV_RGBD
#define HAVE_OPENCV_SALIENCY
#define HAVE_OPENCV_SFM
#define HAVE_OPENCV_SHAPE
#define HAVE_OPENCV_STEREO
#define HAVE_OPENCV_STITCHING
#define HAVE_OPENCV_STRUCTURED_LIGHT
#define HAVE_OPENCV_SUPERRES
#define HAVE_OPENCV_SURFACE_MATCHING
#define HAVE_OPENCV_TEXT
#define HAVE_OPENCV_TRACKING
#define HAVE_OPENCV_VIDEO
#define HAVE_OPENCV_VIDEOIO
#define HAVE_OPENCV_VIDEOSTAB
#define HAVE_OPENCV_XFEATURES2D
#define HAVE_OPENCV_XIMGPROC
#define HAVE_OPENCV_XOBJDETECT
#define HAVE_OPENCV_XPHOTO
【calib3d】:其实就是Calibration(校准)加上3D两个词的组合缩写。这个模块主要就是相机校准和三维重建相关的内容。基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。
【core】:核心功能模块,包含如下内容:
- OpenCV基本数据结构
- 动态数据结构。
- 绘图函数
- 数组操作相关函数
- 辅助功能和系统函数和宏
- 与OpenGL的互操作
【imgproc】:Image和Processing这两个单词的缩写组合。图像处理模块,这个模块包含了如下内容:
- 线性和非线性的图像滤波
- 图像的几何变换
- 其他(Miscellaneous)图像转换
- 直方图相关
- 结构分析和形状描述
- 运动分析和对象跟踪
- 特征检测
- 目标检测等内容
【features2D】:也就是Features2D,2D功能框架,包含如下内容:
- 特征检测和描述
- 特征检测器(Feature Detector)通用接口
- 描述符提取器(Descriptor Extractors)通用接口
- 描述符匹配器(Descriptor Matchers)通用接口
- 通用描述符(Generic Descriptor匹配器通用接口)
- 关键点绘制函数和匹配功能绘制函数
【flann】:Fast Library for Approximate Nearest Neighbors,高维的近似近邻快速搜索算法库,包含两个部分:
- 快速近似最近邻搜索
- 聚类
【gpu】:运用GPU加速的计算机视觉模块
【highgui】:也就是high gui,高层GUI图形用户界面,包含媒体的I/O输入输出,视频捕捉,图像和视频的编码解码,图形交互界面的接口等内容。