OpenCV(一) 主要模块及结构功能简述

来源:互联网 发布:吉他班一般多少钱知乎 编辑:程序博客网 时间:2024/06/06 14:27

      OpenCV 是开源的计算机视觉库,它实现了图像处理和计算机视觉方面很多通用的算法(比如卡尔曼滤波、TLD 目标跟踪算法、BING算法等等),在人机交互、机器视觉、运动检测与跟踪、图像识别等领域,OpenCV的优势非常明显。之前,我断断续续搞过一点OpenCV 的内容,但仅仅局限在调用某些函数进行简单的图像处理,不太会利用它处理计算机视觉相关领域的问题。OpenCV 博大精深,好好开始从头学习吧~稳扎稳打。

    先说说OpenCV包含什么内容吧。现在,OpenCV已经进入3.0时代,而在 2.2 以后的版本中,它包含了12个模块。OpenCV 就像一个大宝库,而不这12个模块就是每个子宝库。如果要打开宝库的大门,当然要先拿到钥匙。而了解每一个模块的功能,就相当于拿到了一把钥匙。当然了,使用对应的模块里面的内容,就要包含相应的头文件。下面开始介绍各个模块以及该模块的功能。

      1、Core —— 核心组件模块

      作为核心组件,Core 做的事情肯定特别多,也比较基础。包括基本数据结构、动态数据结构、绘图函数、数组操作相关函数、辅助功能与系统函数和宏、XML/YML、聚类、与OpenGL 的交互操作。

      2、Imgproc 图像处理模块

      包括图像滤波、几何图像变换、混合图像变换、直方图、结构分析及形状描述、运动分析及目标跟踪、特征及目标检测。      

      3、Highgui——顶层GUI及视频I/O
      包括用户界面、读/写图像及视频、QT新功能。

      4、Video——视频分析
       包括运动分析及目标跟踪。
      5、Calib3d——摄像机标定及3维重建
       包括摄像机标定及3维重建。
      6、Features2d——2维特征框架
       包括特征检测与描述、特征检测提取匹配接口、关键点与匹配点绘图及对象分类。
      7、Objdetect——目标检测
       包括级联分类器及SVM.
     8、MI——机器学习
      包括统计模型、贝叶斯分类器、最近邻分类器、支持向量机、决策树、提升、梯度提升树、随机树、超随机树、最大期望、神经网络及机器学习数据。
      9、FLann——聚类及多维空间搜索
      快速最近邻搜索及聚类。
      10、Gpu——计算机视觉中GPU加速
      GPU模块及数据结构,包含图像处理与分析模块。
     11、Photo——计算图像
       图像修复及去噪。
      12、Stitching——图像拼接
      图像拼接顶层操作函数、旋转、自动标定、仿射变换、接缝估计、曝光补充及图像融合技术。
     

      以上内容参考了朱伟先生编写的 《OpenCV 图像处理编程实例》。在以后的内容中,我会就各个模块依次整理。共勉!