
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.3.1 常用模块
OpenCV 4中包含的模块有21个,每个模块都被保存在一个单独的子目录中,如图1.31所示。

图1.31
主要模块说明如下。
● calib3d:由相机校准(calibration)和三维重建(3d)两部分组成,主要用于相机标定与三维视觉等。
● core:OpenCV的内核模块,定义了基础数据结构与基础计算。
● dnn:主要用于深度学习推理部署,不支持模型训练。
● features2d:主要用于特征点处理,如特征点检测与匹配等。
● flann:FLANN为快速最近邻算法(Fast Library for Approximate Nearest Neighbors)的缩写,该模块包含快速近似最近邻搜索和聚类等功能。
● gapi:对图像处理算法做了加速处理,不属于OpenCV的功能模块。
● highgui:用于创建图像化界面操作,如创建和操作图像显示窗口、鼠标与键盘事件处理、进度条等图像化交互操作。
● imgcodecs:负责图像文件的读/写,如图像的读取与保存。
● imgproc:是OpenCV图像处理最重要的模块,主要功能有图像滤波、图像几何变换、直方图操作等。
● ml:机器学习模块,包含常见的机器学习算法,如支持向量机和随机森林等。
● objdetect:主要用于图像目标检测,如Haar特征检测等。
● photo:主要负责照片处理,如照片修复和去噪等。
● stitching:负责图像拼接,功能包括图像特征点寻找与匹配等图像拼接技术。
● video:用于视频分析,如运动估计、背景分离等。
● videoio:负责视频的读/写,如主要视频文件的读取和写入。