本文主要是介绍opencv3.3头文件使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
opencv3.3解压后文件夹目录仅包含build和source文件夹,其中build主要包含已编译好的各个系统下的头文件及库文件,source文件夹存放了开发相关的技术文档与资料、源程序数据模块及实例程序等。
...opencv\build\include目录下,仅包含opencv和opencv2两个文件夹,其中opencv文件夹支持opecv1.x接口的头文件(C),opencv2文件夹支持opencv2.x接口的头文件(C++)。
注:1.相同头文件对应的.hpp文件包含.h文件,因而凡是用到.h的地方都可以用.hpp替换。例如:可以用highgui.hpp代替highgui.c,直接写成#include"opencv2/highgui/highgui.hpp"。这样无需再将cpp文件添加到项目中编译,减少了编译次数,也不用发布烦人的lib,dll 文件,因此非常适合用来编写公用的开源库。
2.所有的opencv头文件都可以写成#include <opencv2/opencv.hpp>,如果熟悉opencv里的函数分布,也可以直接调用opencv2文件夹里的具体头文件,这样在头文件预编译提高效率。
以下是opencv3.3的主要模块及结构:
参考https://blog.csdn.net/zmdsjtu/article/details/54924727
[calib3d]: Calibration(校准)以及3D,相机校准和三维重建。主要包括基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。
[core]: 核心功能模块,定义了Opencv最为基础的数据结构,是一个内容非常详实与紧凑的模块。主要包括最基础的结构体,动态结构,数组操作,绘画的功能,XML/YAML文件进行存储或调用Opencv的各种数据结构,聚类,辅助功能与系统函数和宏,OpenGL交互相关。
[dnn]: 深层神经网络模块。目前只有3.3以上版本有该功能。
[features2d]: Features2D, 2D功能框架 。主要包括特征检测和描述、特征检测器(Feature Detectors)通用接口、描述符提取器(Descriptor Extractors)通用接口、描述符匹配器(Descriptor Matchers)通用接口、通用描述符(Generic Descriptor)匹配器通用接口、关键点绘制函数和匹配功能绘制函数、物体分类。
[flann]: 高维的近似近邻快速搜索算法库。主要包括快速近似最近邻搜索FLANN、聚类Clustering。
[highgui]: 高层级的用户交互以及媒体的IO接口。主要包括媒体的I / O输入输出, 视频捕捉、图像和视频的编码解码、图形交互界面的接口、Qt新功能等内容。
[imgcodecs]: 用于图片的读写。主要内容
[imgproc]: 图片处理。主要包括图像滤波Image Filtering、图像的几何变换、各种图片形式的转换、直方图Histograms 、结构分析和形状描述、动作分析以及物体追踪、特征检测、物体检测。
[ml]: 机器学习模块。基本上是统计模型和分类算法,主要包括统计模型Statistical Models 、一般贝叶斯分类器Normal Bayes Classifier 、K-近邻K-Nearest Neighbors 、支持向量机SVM Support Vector Machines:之前尝试过的案例:SVM案例 、决策树Decision Trees 、级联分类器Boosting 、梯度树Gradient Boosted Trees 、随机树Random Trees 、超随机树Extremely randomized trees 、期望最大化Expectation Maximization 、神经网络Neural Networks 、机器学习数据的形式相关MLData。
[objdetect]: 目标检测模块。包含Cascade Classification(级联分类)和Latent SVM这两个部分。
[photo]: 主要包括图像修复Inpainting、图像降噪Denoising。
[shape]: 形状的匹配以及距离计算。
[stitching]: 图像拼接模块。主要包括拼接流水线、特点寻找和匹配图像、估计旋转、自动校准、图片歪斜、接缝估测、曝光补偿、图片混合。
[superres]: 超分辨率技术的相关功能模块。
[video]: 视频分析模块。主要包括动作分析Motion Analysis 、物体追踪Object Tracking。
[videoio]: OpenCV3特有的仅用来读写视频的模块。
[videostab]: 视频稳定相关的组件。主要包括全局运动估计Global Motion Estimation 、快速步进法Fast Marching Method。
这篇关于opencv3.3头文件使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!