新手学习opencv一:opencv分析
一.opencv简介:
计算机视觉是在图像处理的基础上发展起来的新兴学科。opencv是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。
二.opencv主体模块
opencv主体分为五个模块,其中四个模块如下图所示。opencv的CV模块包含基本的图像处理函数和高级的计算机视觉算法。ML是机器学习库,包含一些基于统计的分类和聚类工具。HighGUI包含图像和视频输入/输出的函数。CXCore包含OpenCV的一些基本数据结构和相关函数。图中并没有包含CvAux模块,该模块中一般存放一些即将被淘汰的算法和函数(如基于嵌入式隐马尔可夫模型的人脸识别算法),同时还有一些新出现的实验性的算法和函数(如背景和前景的分割)。
三.opencv算法
计算机视觉与机器学习用到的主要模块:
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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/18437.html