opencv 库包有哪些
opencv库包有:1.核心库core;2.几何处理/3维重建库Calib3d;3.视频相关库Video;4.图像处理库Imgproc;5.特征探测描述库Features2d;6.目标检测库Objdetec;7.UI交互库Highgui;8.视频的io库Videoio;等等。核心库core主要包含opencv库的基础结构以及基本操作。
1.核心库core
核心库core属于核心功能模块,主要包含OpenCV 库的基础结构以及基本操作,例如OpenCV基本数据结构、绘图函数、数组操作相关函数、动态数据结构等。
2.几何处理/3维重建库Calib3d
Calib3d是Calibration(校准)加3D这两个词的组合缩写。这个模块主要是相机校准和三维重建相关的内容。基本的多视角几何算法,单个立体摄像头标定,物体姿态估计,立体相似性算法,3D信息的重建等等。
3.视频相关库Video
视频分析组件,该模块包括运动估计,背景分离,对象跟踪等视频处理相关内容。
4.图像处理库Imgproc
图像处理库Imgproc的名称是由image(图像)和process(处理)两个单词的缩写组和而成,是重要的图像处理模块,其主要包括图像滤波、几何变换、直方图、特征检测与目标检测等。
5.特征探测描述库Features2d
这个模块名称是由features(特征)和2D这两个单词的缩写组合而成,其功能主要为处理图像特征点,例如特征检测、描述与匹配等。该库包含的内容有:特征检测和描述;特征检测器通用接口;描述符提取器通用接口;描述符匹配器通用接口;通用描述符匹配器通用接口。
6.目标检测库Objdetec
目标检测库Objdetec主要用于图像目标检测,例如检测Haar特征。包含Cascade Classification(级联分类)和Latent SVM这两个部分。
7.UI交互库Highgui
Highgui是高层GUI图形用户界面,包含媒体的I/O输入输出,视频捕捉、图像和视频的编码解码、图形交互界面的接口等内容。
8.视频的io库Videoio
Videoio是视频输入输出模块,主要用于读取与写入视频或者图像序列。
9.快速近似最近邻库Flann
这个模块名称是Fast Library for Approximate Nearest Neighbors(快速近似最近邻库)的缩写,这个模块是高维的近似近邻快速搜索算法库,主要包含快速近似最近邻搜索与聚类等。
10.图像拼接库Stitching
图像拼接库Stitching,主要包含特征点寻找与匹配图像、估计旋转、自动校准、接缝估计等图像拼接过程的相关内容。
除上述主要库包外,opencv还包括很多其它库包,如:图像文件读取与保存库imgcodecs;机器学习模块Ml,主要为统计分类、回归和数据聚类等;计算摄影库Photo,主要包含图像修复和去噪等。
延伸阅读
opencv是干什么的
opencv的全称是“Open Source Computer Vision Library”,是一个基于BSD许可发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。OpenCV 由Intel公司俄罗斯团队发起并参与开发,可以在商业和研究领域中免费使用。
opencv用C++语言编写,由一系列C函数和少量C++类构成,同时提供了Python、C++、MATLAB等常用编程语言接口,该库具有2500多种优化算法,其中包括一整套经典和最新的计算机视觉和机器学习算法。
OpenCV 可用于开发实时的图像处理、计算机视觉以及模式识别程序。它在计算机视觉的发展中发挥了重要的作用,使成千上万的人能够在视觉上做更多的工作。OpenCV允许学生,研究人员,专业人员和创业者高效地实施项目,并通过向他们提供可在多种平台上优化的计算机视觉架构。

