新手学习opencv一:opencv分析

新手学习opencv一:opencv分析

一.opencv简介:

       计算机视觉是在图像处理的基础上发展起来的新兴学科。opencv是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。

二.opencv主体模块

         opencv主体分为五个模块,其中四个模块如下图所示。opencv的CV模块包含基本的图像处理函数和高级的计算机视觉算法。ML是机器学习库,包含一些基于统计的分类和聚类工具。HighGUI包含图像和视频输入/输出的函数。CXCore包含OpenCV的一些基本数据结构和相关函数。图中并没有包含CvAux模块,该模块中一般存放一些即将被淘汰的算法和函数(如基于嵌入式隐马尔可夫模型的人脸识别算法),同时还有一些新出现的实验性的算法和函数(如背景和前景的分割)。

新手学习opencv一:opencv分析_第1张图片

三.opencv算法

新手学习opencv一:opencv分析_第2张图片


新手学习opencv一:opencv分析_第3张图片

计算机视觉与机器学习用到的主要模块:

1.core ——核心功能模块,包含如下内容:
      OpenCV基本数据结构
      动态数据结构
       绘图函数
      数组操作相关函数
      辅助功能与系统函数和宏
       与OpenGL的互操作
2.highgui ——高层GUI图形用户界面,包含媒体的I / O输入输出,视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容
3.imgproc ——Image和Processing这两个单词的缩写组合。图像处理模块,这个模块包含了如下内容:
         线性和非线性的图像滤波
·        图像的几何变换
·        其它(Miscellaneous)图像转换
·        直方图相关
·        结构分析和形状描述
·        运动分析和对象跟踪
·        特征检测
·        目标检测等内容

4.features2d  ——也就是Features2D, 2D功能框架 ,包含如下内容:
·         特征检测和描述
·         特征检测器(Feature Detectors)通用接口
·         描述符提取器(Descriptor Extractors)通用接口
·         描述符匹配器(Descriptor Matchers)通用接口
·         通用描述符(Generic Descriptor)匹配器通用接口
·         关键点绘制函数和匹配功能绘制函数
5.photo ——也就是Computational Photography,包含图像修复和图像去噪两部分
6.stitching ——images stitching,图像拼接模块,包含如下部分:
·        拼接流水线
·        特点寻找和匹配图像
·        估计旋转
·        自动校准
·        图片歪斜
·        接缝估测
·        曝光补偿
·        图片混合
7.calib3d ——Calibration(校准)加3D这两个词的组合缩写。这个模块主要是相机校准和三维重建相关的内容。基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。
8.video ——视频分析组件,该模块包括运动估计,背景分离,对象跟踪等视频处理相关内容。
9.objdetect ——目标检测模块,包含Cascade Classification(级联分类)和Latent SVM这两个部分。
10.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)

四.opencv安装

参见:opencv安装容:


你可能感兴趣的:(opencv主体模块)