学习OpenCV 4:基于Python的算法实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.1 常用模块

OpenCV 4中包含的模块有21个,每个模块都被保存在一个单独的子目录中,如图1.31所示。

img

图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:负责视频的读/写,如主要视频文件的读取和写入。