OpenCV 基础功能简介

OpenCV 基础功能简介

OpenCV(开源计算机视觉库 http://opencv.org ) 是一个开源的BSD许可库,包含数百种计算机视觉算法。由于功能强大,几乎所有用到的复杂的图片分析处理都会用到,所以有必要了解下它具体都有什么功能,方便我们使用。

官方文档: OpenCV 教程 — OpenCV 2.3.2 documentation http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html

OpenCV的应用领域:

  • 人机互动

  • 物体识别

  • 图像分割

  • 人脸识别

  • 动作识别

  • 运动跟踪

  • 机器人

  • 运动分析

  • 机器视觉

  • 结构分析

  • 汽车安全驾驶

OpenCV主要功能

1、Core functionality

Core functionality:基础数据模块,包含一些发杂数据结构和基本函数方法,主要包含如下的内容:

OpenCV基本数据结构(Basic Structures);

基本的C语言数据结构和操作(Basic C Structures and Operations);

动态数据结构(Dynamic Structures);

数组操作相关函数(Operations on Arrays);

绘图功能(Drawing Functions);

XML和YAML语法的支持(XML/YAML Persistence);

XML和YAML语法的支持的C语言接口(XML/YAML Persistence (C API));

聚类(Clustering);

辅助功能与系统函数和宏(Utility and System Functions and Macros);

与OpenGL的互操作(OpenGL interoperability);

2、Image processing

Image processing :图像处理模块,包括线性和非线性图像滤波,几何图像变换(调整大小,仿射和透视扭曲,基于通用表的重新映射),颜色空间转换,直方图等。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);

3、highgui

是High-level GUI and Media I/O的简写。高层用户界面模块和媒体输入/输出模块,主要包含以下内容:

用户界面(User Interface);

图片和视频的读写(Reading and Writing Images and Video);

QT新功能(Qt New Functions);

4、features2d

2D Features Framework的简写。二维特征框架模块,主要包含以下内容:

人脸识别

VR和AR

特征的检测和描述(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);

5、flann

Clustering and Search in Multi-Dimensional Spaces,多维空间聚类和搜索模块,主要包含以下内容:

快速近视最近邻搜索(Fast Approximate Nearest Neighbor Search);

聚类(Clustering);

6、video

是Video Analysis的简写。视频分析模块,主要包含以下内容:

运动分析和目标跟踪(Motion Analysis and Object Tracking),视频相关的,上面提到的是图片相关的;

7、calib3d

是Camera Calibration and 3D Reconstruction的简写。这个模块主要是相机校准和三维重建相关的内容,包括基本的多视角几何算法、单个立体摄像头标定、物体姿态估计、立体相似性算法,3D信息的重建等

8、ml

机器学习库:统计模型、随机树、神经网络等等…

9、objdetect

检测预定义类的对象和实例(例如,面部,眼睛,马克杯,人,汽车等)。

10、video

视频分析模块,包括运动估计,背景减法和对象跟踪算法。

11、photo

图像修复和图像去噪两部分

你可能感兴趣的:(OpenCV 基础功能简介)