OpenCV 的核心库模块是其功能的核心组成部分,涵盖了从基础图像处理到高级计算机视觉算法的广泛功能。
模块名称 | 功能描述 |
---|---|
core | 核心功能模块,包含基本数据结构(如 Mat、Point、Size 等)、矩阵操作、内存管理、文件 I/O 等基础功能。 |
imgproc | 图像处理模块,提供图像滤波、几何变换、颜色空间转换、直方图计算、边缘检测、形态学操作等功能。 |
imgcodecs | 图像编解码模块,支持读取和保存多种格式的图像文件(如 JPEG、PNG、TIFF 等)。 |
videoio | 视频 I/O 模块,支持从摄像头、视频文件或图像序列中读取和写入视频数据。 |
highgui | 高层 GUI 模块,提供简单的窗口管理、图像显示、鼠标和键盘事件处理等功能。 |
video | 视频分析模块,包含运动估计、背景减除、光流计算、目标跟踪等视频处理算法。 |
calib3d | 相机校准和 3D 重建模块,提供相机标定、立体视觉、姿态估计、3D 重建等功能。 |
features2d | 特征检测与描述模块,包含关键点检测(如 SIFT、SURF、ORB 等)、特征匹配、描述符计算等功能。 |
objdetect | 目标检测模块,提供 Haar 级联检测、HOG+SVM 检测、深度学习目标检测等功能。 |
dnn | 深度学习模块,支持加载和运行深度学习模型(如 TensorFlow、Caffe、ONNX 等),用于图像分类、目标检测等任务。 |
ml | 机器学习模块,提供常见的机器学习算法(如 SVM、KNN、决策树、随机森林等),用于分类和回归任务。 |
flann | 快速近似最近邻搜索模块,用于高效的特征匹配和聚类。 |
photo | 计算摄影模块,提供图像修复、去噪、HDR 合成、非真实感渲染等功能。 |
stitching | 图像拼接模块,用于将多张图像拼接成全景图。 |
shape | 形状分析模块,提供形状匹配、形状距离计算等功能。 |
superres | 超分辨率模块,提供基于光流和深度学习的图像和视频超分辨率增强功能。 |
viz | 3D 可视化模块,用于显示 3D 点云、网格和相机姿态等。 |
cudaarithm | CUDA 加速的算术运算模块,提供 GPU 加速的矩阵运算。 |
cudabgsegm | CUDA 加速的背景分割模块,提供 GPU 加速的背景减除算法。 |
cudacodec | CUDA 加速的视频编解码模块,支持 GPU 加速的视频编码和解码。 |
cudafeatures2d | CUDA 加速的特征检测与描述模块,提供 GPU 加速的关键点检测和匹配功能。 |
cudafilters | CUDA 加速的图像滤波模块,提供 GPU 加速的图像滤波操作。 |
cudaimgproc | CUDA 加速的图像处理模块,提供 GPU 加速的颜色空间转换、直方图计算等功能。 |
cudaoptflow | CUDA 加速的光流计算模块,提供 GPU 加速的光流算法。 |
cudastereo | CUDA 加速的立体视觉模块,提供 GPU 加速的立体匹配和深度计算功能。 |
cudawarping | CUDA 加速的图像几何变换模块,提供 GPU 加速的图像旋转、缩放、仿射变换等功能。 |
核心模块详解
-
core 模块
- 提供 OpenCV 的基础数据结构,如
Mat
(矩阵)、Point
(点)、Size
(尺寸)等。 - 支持矩阵运算、内存管理、文件 I/O 等基础功能。
- 提供 OpenCV 的基础数据结构,如
-
imgproc 模块
- 图像处理的核心模块,包含滤波、几何变换、颜色空间转换、边缘检测、形态学操作等功能。
- 常用函数:
cv::GaussianBlur
、cv::Canny
、cv::cvtColor
等。
-
dnn 模块
- 支持加载和运行深度学习模型(如 TensorFlow、Caffe、ONNX 等)。
- 用于图像分类、目标检测、语义分割等任务。
-
features2d 模块
- 提供关键点检测(如 SIFT、SURF、ORB)和特征匹配功能。
- 用于图像拼接、目标识别等任务。
-
calib3d 模块
- 提供相机标定、立体视觉、3D 重建等功能。
- 常用函数:
cv::calibrateCamera
、cv::stereoRectify
等。
-
video 模块
- 提供视频分析功能,如运动估计、背景减除、光流计算等。
- 常用函数:
cv::calcOpticalFlowPyrLK
、cv::BackgroundSubtractorMOG2
等。
-
ml 模块
- 提供常见的机器学习算法,如 SVM、KNN、决策树等。
- 用于分类和回归任务。