这篇文章主要介绍OpenCV基本模块有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!OpenCV
的全称是:Open Source Computer Vision Library
。OpenCV
是一个基于BSD
许可(开源)发行的跨平台计算机视觉库,可以运行在Linux
、Windows
和Mac OS
操作系统上。它轻量级而且高效——由一系列 C
函数和少量 C++
类构成,同时提供了Python
、Ruby
、MATLAB
等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
所有新的开发和算法都是用C++
接口。一个使用CUDA
的GPU
接口也于2010年9月开始实现。
官方主页:http://opencv.org/
在调用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
);XML
和YAML
语法的支持(XML/YAML Persistence
);XML
和YAML
语法的支持的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
);flann
,Clustering 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
);开源的快速外貌的映射算法(OpenFABMAP
,Fast 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
);photo
,Computational Photography
,计算摄影模块,主要包含以下内容:
修复(Inpainting
);去噪(Denoising
);stitching
,Images stitching
,图像拼接模块,主要包含以下内容:
拼接流水线(Stitching Pipeline
);参考文献(References
);高层功能,拼接器(High Level Functionality
);相机(Camera
);特征寻找和图像匹配(Features Finding and Images Matching
);旋转估计(Rotation Estimation
);自动校准(Autocalibration
);图像扭曲(Images Warping
);接缝估计(Seam Estimation
);曝光补偿(Exposure Compensation
);图形混合(Image Blenders
);nonfree
,Non-free functionality
,不免费的功能,一些具有专利的算法模块,主要包含以下内容:
特征提取和描述(Feature Detection and Description
);legacy
,Deprecated 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
);以上是“OpenCV基本模块有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注开发云行业资讯频道!
相关推荐: Oracle中怎么利用row_number()over()方式解决插入数据时重复键
本篇文章为大家展示了Oracle中怎么利用row_number()over()方式解决插入数据时重复键,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。导入目的表上图中可以看到,我们的目的表中的主键有三个orgcode,s…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。