新手学习opencv一:opencv分析

导读:本篇文章讲解 新手学习opencv一:opencv分析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

新手学习opencv一:opencv分析

一.opencv简介:

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

二.opencv主体模块

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

新手学习opencv一:opencv分析

三.opencv算法

新手学习opencv一:opencv分析

新手学习opencv一: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)

四.opencv安装

参见:opencv安装容:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/18437.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!