简介

OpenCV的全称是:Open Source Computer Vision Libraryopencv是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在LinuxWindowsMac OS操作系统上。它轻量级而且高效——由一系列C 函数和少量 C++ 类构成,同时提供了PythonRubyMATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
所有新的开发和算法都是用C++接口。一个使用CUDAGPU接口也于2010年9月开始实现。
官方主页:http://opencv.org/
官方文档:http://docs.opencv.org/2.4/modules/refman.html

文件结构

在调用opencv时需要用到的头文件分布(默认安装情况下,同时下面都是基于2.4.x版本):

  • windows系统来说,一般在OPENCV_DIR/build/include/文件夹下,所以在VS中调用时需要配置附加库目录;
  • ubuntu系统来说,一般在/usr/local/include/文件夹下,系统目录下,系统可以自动识别;

include一般包含两个文件夹:

  • opencv文件夹下面的内容是OpenCV1.0保留下来的头文件,现在很少使用了,所以在这里不关注;
  • opencv2文件夹下是以后主要用到的功能模块;

    opencv2文件夹下面的结构如下图:

    下面来单独介绍每个模块的功能(主要参考《OpenCV3编程入门》这本书,下面有下载链接,有兴趣的可以查看一下):

常用模块

  • core,核心功能模块,主要包含如下的内容:

    • OpenCV基本数据结构(Basic Structures);
    • 基本的C语言数据结构和操作(Basic C Structures and Operations);
    • 动态数据结构(Dynamic Structures);
    • 数组操作相关函数(Operations on Arrays);
    • 绘图功能(Drawing Functions);
    • XMLYAML语法的支持(XML/YAML Persistence);
    • XMLYAML语法的支持的C语言接口(XML/YAML Persistence (C API));
    • 聚类(Clustering);
    • 辅助功能与系统函数和宏(Utility and System Functions and Macros);
    • OpenGL的互操作(OpenGL interoperability);
  • imgproc,是Image Processing的简写。图像处理模块,主要包含以下内容:
    • 线性和非线性的图像滤波(Image Filtering);
    • 图像的几何变换(Geometric Image Transformations);
    • 图像的其他变换(Miscellaneous Image Transformations);
    • 直方图(Histograms);
    • 结构分析和形状描述(Structural Analysis and Shape Descriptors);
    • 运动分析和目标跟踪(Motion Analysis and Object Tracking);
    • 特征检测(Feature Detection);
    • 目标检测(Object Detection);
  • highgui,是High-level GUI and Media I/O的简写。高层用户界面模块和媒体输入/输出模块,主要包含以下内容:
    • 用户界面(User Interface);
    • 图片和视频的读写(Reading and Writing Images and Video);
    • QT新功能(Qt New Functions);
  • features2d,是2D Features Framework的简写。二维特征框架模块,主要包含以下内容:
    • 特征的检测和描述(Feature Detection and Description);
    • 特征检测器的通用接口(Common Interfaces of Feature Detectors);
    • 描述符提取器的通用接口(Common Interfaces of Descriptor Extractors);
    • 描述符匹配器的通用接口(Common Interfaces of Descriptor Matchers);
    • 通用描述符匹配器通用接口(Common Interfaces of Generic Descriptor Matchers);
    • 关键点和匹配结果的绘制功能(Drawing Function of Keypoints and Matches);
    • 目标分类(Object Categorization);
  • flannClustering and Search in Multi-Dimensional Spaces,多维空间聚类和搜索模块,主要包含以下内容:
    • 快速近视最近邻搜索(Fast Approximate Nearest Neighbor Search);
    • 聚类(Clustering);
  • video,是Video Analysis的简写。视频分析模块,主要包含以下内容:
    • 运动分析和目标跟踪(Motion Analysis and Object Tracking),视频相关的,上面提到的是图片相关的;
  • calib3d ,是Camera Calibration and 3D Reconstruction的简写。这个模块主要是相机校准和三维重建相关的内容,包括基本的多视角几何算法、单个立体摄像头标定、物体姿态估计、立体相似性算法,3D信息的重建等。

加速模块

  • gpu,是GPU-accelerated Computer Vision的简写,利用GPU加速的视觉模块,主要包含以下内容:

    • GPU模块介绍(GPU Module Introduction);
    • 初始化和信息(Initalization and Information);
    • 数据结构(Data Structures);
    • 矩阵操作(Operations on Matrices);
    • 逐个元素操作(Per-element Operations);
    • 图像处理(Image Processing);
    • 矩阵降维(Matrix Reductions);
    • 目标检测(Object Detection);
    • 特征检测和描述(Feature Detection and Description);
    • 图像滤波(Image Filtering);
    • 相机标定和三维重建(Camera Calibration and 3D Reconstruction);
    • 视频分析(Video Analysis);
  • ocl,是OpenCL-accelerated Computer Vision的简写,运用OpenCL加速的视觉模块,主要包含以下内容:

    • OpenCL 模块介绍(OpenCL Module Introduction);
    • 数据结构和公用功能(Data Structures and Utility Functions);
    • 数据结构(Data Structures);
    • 矩阵操作(Operations on Matrics);
    • 矩阵降维(Matrix Reductions);
    • 图像滤波(Image Filtering);
    • 图像处理(Image Processing);
    • 机器学习(ml.Machine Learning);
    • 目标检测(Object Detection);
    • 特征检测和描述(Feature Detection And Description);
    • 视频分析(Video Analysis);
    • 相机标定和三维重建(Camera Calibration and 3D Reconstruction);

其他模块

  • contrib,是Contributed/Experimental Stuff的简写。该模块包含了一些最近添加的不太稳定的可选的功能,一般用不着,不用太关注。主要包含如下的内容:

    • 立体匹配(Stereo Correspondence);
    • 人脸识别模型(FaceRecognizer Documentation);
    • 视网膜模型(Retina Documentation);
    • 开源的快速外貌的映射算法(OpenFABMAPFast Appearance-based Mapping algorithm);
  • objdetect,是Object Detection的简写。目标检测模块,主要包含以下内容:
    • 级联分类(Cascade Classification);
    • SVM分类模型(Latent SVM);
  • ml,是Machine Learning简写。机器学习模块,主要包含以下内容:
    • 统计模型(Statistical Models);
    • 一般贝叶斯分类器(Normal Bayes Classifier);
    • K-近邻(K-Nearest Neighbors);
    • 支持向量机(Support Vector Machines);
    • 决策树(Decision Trees);
    • 提升(Boosting);
    • 梯度提高树(Gradient Boosted Trees);
    • 随机数(Random Trees);
    • 超随机树(Extremely randomized trees);
    • 期望最大化(Expectation Maximization);
    • 神经网络(Neural Networks);
    • 机器学习数据(MLData);
  • photoComputational Photography,计算摄影模块,主要包含以下内容:
    • 修复(Inpainting);
    • 去噪(Denoising);
  • stitchingImages stitching,图像拼接模块,主要包含以下内容:
    • 拼接流水线(Stitching Pipeline);
    • 参考文献(References);
    • 高层功能,拼接器(High Level Functionality);
    • 相机(Camera);
    • 特征寻找和图像匹配(Features Finding and Images Matching);
    • 旋转估计(Rotation Estimation);
    • 自动校准(Autocalibration);
    • 图像扭曲(Images Warping);
    • 接缝估计(Seam Estimation);
    • 曝光补偿(Exposure Compensation);
    • 图形混合(Image Blenders);
  • nonfreeNon-free functionality,不免费的功能,一些具有专利的算法模块,主要包含以下内容:
    • 特征提取和描述(Feature Detection and Description);
  • legacyDeprecated stuff,一些废弃的代码模块,留下了为了向下兼容,主要包含以下内容:
    • 运动分析(Motion Analysis);
    • 期望最大值(Expectation Maximization);
    • 直方图(Histograms);
    • 平面细分C语言接口(Planar Subdivisions (C API));
    • 特征提取和描述(Feature Detection and Description);
    • 描述符提取器的通用接口(Common Interfaces of Descriptor Extractors);
    • 通用描述符的通用接口(Common Interfaces of Generic Descriptor Matchers);
  • superres,是Super Resolution的简写,超分辨率技术模块,主要包含以下内容:
    • 超分辨率(Super Resolution);
  • viz,是3D Visualizer的简写,三维可视化工具模块,主要包含以下内容:
    • 可视化(Viz);
    • 组件(Widget);

参考资料
ubuntu上安装使用opencv请参考:http://blog.csdn.net/honyniu/article/details/46390097
参考书链接:http://download.csdn.net/detail/honyniu/9474159 (最新的关于OpenCV3的书)

OpenCV 基本模块相关推荐

  1. 使用opencv dnn 模块调用darknet模型时候出错,不支持relu激活函数

    问题: 使用opencv dnn 模块调用darknet模型时候出错,报错信息为 不支持relu激活函数 以下过程为笔者自己解决该问题的过程,供各位参考学些,因为中间又遇到新的坑,所以各位务必看完再决 ...

  2. OpenCV gapi模块OMZ文本检测的实例(附完整代码)

    OpenCV gapi模块OMZ文本检测的实例 OpenCV gapi模块OMZ文本检测的实例 OpenCV gapi模块OMZ文本检测的实例 #include <algorithm> # ...

  3. OpenCV gapi模块实现幻灯片滑slides soble的实例(附完整代码)

    OpenCV gapi模块实现幻灯片滑slides soble的实例 OpenCV gapi模块实现幻灯片滑slides soble的实例 OpenCV gapi模块实现幻灯片滑slides sobl ...

  4. OpenCV gapi模块动态图dynamic graph的实例(附完整代码)

    OpenCV gapi模块动态图dynamic graph的实例 OpenCV gapi模块动态图dynamic graph的实例 OpenCV gapi模块动态图dynamic graph的实例 # ...

  5. OpenCV gapi模块绘制的实例(附完整代码)

    OpenCV gapi模块绘制的实例 OpenCV gapi模块绘制的实例 OpenCV gapi模块绘制的实例 #include <opencv2/imgproc.hpp> // cv: ...

  6. OpenCV gapi模块API的引用(附完整代码)

    OpenCV gapi模块API的引用 OpenCV gapi模块API的引用 OpenCV gapi模块API的引用 #include <opencv2/videoio.hpp> #in ...

  7. OpenCV gapi模块基本API的实例(附完整代码)

    OpenCV gapi模块基本API的实例 OpenCV gapi模块基本API的实例 OpenCV gapi模块基本API的实例 #include <opencv2/videoio.hpp&g ...

  8. OpenCV SFM模块安装

    OpenCV SFM模块安装 SFM模块安装 依存关系 安装 必需的依存关系 Ceres Solver SFM模块安装 依存关系 Motion的结构模块取决于某些开源库. Eigen 3.2.2 或更 ...

  9. OpenCV Aruco模块常见问题解答

    OpenCV Aruco模块常见问题解答 Aruco模块常见问题解答 我只想标记一些对象,应该使用什么? 哪种算法用于标记检测? 无法正确检测我的标记,我该怎么办? ArUco板有什么好处?有什么缺点 ...

  10. 使用OpenCV python模块读取图像并将其另存为灰度系统

    In Python, we can use an OpenCV library named cv2. Python does not come with cv2, so we need to inst ...

最新文章

  1. Exchange 2010和Exchange 2016共存部署-3:Exchange2016部署系统要求
  2. pytorch使用清华源安装仍失败解决方案
  3. running Extension project directly on ABAP server without Launchpad
  4. Dais-CMX系列现代计算机组成原理,01 十六位机运算器实验
  5. 【使用C语言的7的步骤】
  6. Linux内核漏洞精准检测如何做?SCA工具不能只在软件层面
  7. 避坑!用大数据告诉你,那些被淘汰的公司,都有哪些特征?
  8. 【leetcode】538. Convert BST to Greater Tree
  9. 百旺智能编码_极速开票,智能编码,一键匹配,颠覆了传统手动输入的开票模式,再也不用担心选错税收分类编码啦...
  10. linux下nginx重启命令
  11. Win11U盘拒绝访问怎么办?Win11U盘拒绝访问的有效解决方法
  12. C#Skip和Take的用法
  13. [机缘参悟-64]:《兵者,诡道也》-5-三十六计解读-混战计
  14. 上板子在线抓波发现app_rdy一直为低
  15. 二十四进制 加法计数器 并用数码管显示
  16. 禁用Web服务器the TRACE and TRACK methods,修复80端口httpd漏洞:CVE-2003-1567
  17. GPS nmealib学习笔记 .
  18. HTML-做一个网页的注册登记表单
  19. 408王道计算机网络强化——传输层和应用层
  20. 目标跟踪算法的分类(三)

热门文章

  1. Laravel Pipeline解读
  2. QQ sdk和Android sdk 28的兼容处理
  3. halcon中的面向对象,数据保存(续)
  4. weak属性需要在dealloc中置nil么?
  5. js(一) 三大事件 实现注册验证
  6. c# 通过MailHelper发送QQ邮件
  7. 浅谈css常用伪类用法
  8. opencv3计算机视觉+Python(四)
  9. day09-线程与进程
  10. 浙江工业大学校赛 XiaoWei的战斗力