OpenCV主体分为5大模块,其中4个模块如下图所示:OpenCV的CV模块包含基本的图像处理函数和高级的计算机视觉算法;ML是机器学习库,包含一些基于统计的分类和聚类工具;HighGUI包含图像和视频输入/输出的函数;CXCore包含OpenCV的一些基本数据结构和相关函数。

opencv名称空间cv不行 opencv chm_OpenCV5大模块

OpenCV5大模块

上图中并没有包含CvAux模块,该模块一般存放一些即将被淘汰的算法和函数(如基于嵌入式隐马尔可夫模型的人脸识别算法),同时还有一些新出现的实验性的算法和函数(如背景和前景的分割)。CvAux包含以下一些内容:

  • 特征物体,它是一个模式识别领域里用于降低计算量的方法,本质上依然是模板匹配
  • 一维和二维隐马尔可夫模型(HMM),它是一个基于统计的识别方法,用动态规划来求解
  • 嵌入式HMM
  • 通过立体视觉来实现的动作识别
  • Delaunay三角划分。序列等方法的扩展
  • 立体视觉
  • 基于轮廓线的形状匹配
  • 纹理描述
  • 眼睛和嘴的跟踪
  • 3D跟踪
  • 寻找场景中的物体的骨架(中心线)
  • 通过两个不同视角的图像合成中间的图像
  • 前景/背景分割
  • 视频监控
  • 摄像机标定的C++类

OpenCV模块官网详细说明:OpenCV模块

官网OpenCV模块分类:

  • 主要模块:
  • 核心。核心功能
  • imgproc。图像处理
  • imgcodecs。图像文件读写
  • videoio。视频I / O.
  • highgui。高级GUI
  • 视频。视频分析
  • calib3d。相机校准和3D重建
  • features2d。2D功能框架
  • objdetect。物体检测
  • DNN。深度神经网络模块
  • 毫升。机器学习
  • FLANN。多维空间中的聚类和搜索
  • 照片。计算摄影
  • 拼接。图像拼接
  • GAPI。图API
  • 形状。形状距离和匹配
  • superres。超级分辨率
  • videostab。视频稳定
  • 即 3D展示台
  • 额外模块:
  • aruco。ArUco标记检测
  • bgsegm。改进的背景 - 前景分割方法
  • 仿生。生物启发的视觉模型和衍生工具
  • ccalib。用于3D重建的自定义校准模式
  • cnn_3dobj。3D对象识别和姿势估计API
  • cudaarithm。矩阵运算
  • cudabgsegm。背景分割
  • cudacodec。视频编码/解码
  • cudafeatures2d。特征检测和描述
  • cudafilters。图像过滤
  • cudaimgproc。图像处理
  • cudalegacy。遗产支持
  • cudaobjdetect。物体检测
  • cudaoptflow。光流
  • cudastereo。立体声通信
  • cudawarping。图像变形
  • cudev。设备层
  • CVV。用于计算机视觉程序的交互式可视化调试的GUI
  • 数据集。使用不同数据集的框架
  • dnn_objdetect。DNN用于对象检测
  • DPM。可变形的基于零件的模型
  • 面对。面部分析
  • FreeType的。使用freetype / harfbuzz绘制UTF-8字符串
  • 模糊。基于模糊数学的图像处理
  • HDF。分层数据格式I / O例程
  • HFS。高效图像分割的层次特征选择
  • img_hash。该模块带来了不同图像散列算法的实现。
  • line_descriptor。从图像中提取的线的二进制描述符
  • optflow。光流算法
  • 绵羊。OGRE 3D Visualiser
  • phase_unwrapping。Phase Unwrapping API
  • 情节。Mat数据的绘图功能
  • REG。图像注册
  • RGBD。RGB深度处理
  • 显着性。显着性API
  • SFM。运动结构
  • 立体声。立体声对应算法
  • structured_light。结构光API
  • surface_matching。表面匹配
  • 文本。场景文本检测与识别
  • 跟踪。跟踪API
  • xfeatures2d。额外的2D功能框架
  • ximgproc。扩展图像处理
  • xobjdetect。扩展对象检测
  • xphoto。其他照片处理算法