core
“core”是包含所有基本对象类型及其基本操作的库部分。
imgproc
图像处理模块包含图像的基本转换,包括滤波器和类似的卷积运算符。
highgui(在OpenCV 3.0中分割为imgcodecs,videoio和highgui)
该模块包含可用于显示图像或进行简单的用户输入的用户界面功能。它可以被当作一个非常轻量级的窗口UI工具包。
vedio
包含着读取视频流的函数。
calib3d
该模块包含您需要校准单个摄像机以及立体或多像素阵列的算法实现。
features2d
该模块包含用于检测,描述和匹配关键点特征的算法。
objdetect
该模块包含用于检测特定对象(如面部或行人)的算法。您还可以训练探测器以检测其他物体。
ml
机器学习库本身实际上是一个完整的库,并且包含大量的机器学习算法,这些算法实现的方式与OpenCV的自然数据结构一起工作。
flann
FLANN表示Fast Libray for Approximate Nearest Neighbors。
这个库包含了你不可能直接使用的方法,但是其他模块中的其他函数使用这些方法来在大型数据集中进行最近邻居搜索。
gpu(在OpenCV 3.0中分割为多个cuda *模块)
GPU库包含大部分其他库函数的实现,这些函数经过优化,可在CUDA GPU上运行。
还有一些功能仅用于GPU操作。
其中的一些提供了优异的结果,但需要足够高的计算资源,以便在非GPU硬件上实施将提供很小的效用。
photo
这是一个相对较新的模块,其中包含对计算摄影有用的工具。
stitching
整个模块实现了复杂的图像拼接管道。
这是图书馆的新功能,但与照片模块一样,这是未来增长预期的领域。
nonfree(转移到OpenCV 3.0中的opencv_contrib / xfeatures2d)
OpenCV包含一些算法的实现,这些算法具有专利限制或者受到使用限制(例如SIFT算法)的影响。
这些算法被分离到它们自己的模块中,以表明您需要做一些特殊工作才能在商业产品中使用它们。
contrib(融入到了OpenCV 3.0中的几个opencv_contrib模块)
该模块包含尚未整合到库中的新内容。
legacy(在OpenCV3.0中已经被丢弃了)
该模块包含尚未从库中完全放弃的旧事物。
ocl(在OpenCV3.0中已经被丢弃了,取而代之的是T-API技术)
这是一个更新的模块,可以被认为与GPU模块类似,只是它实现了开放并行编程的Khronos OpenCL标准。
尽管目前GPU模块的功能远不如此,但ocl模块旨在提供可在任何GPU或其他具有Khronos功能的并行设备上运行的实现。
(这与显卡使用NVidia CUDA工具包的GPU模块形成了鲜明对比,所以它只能用于NVidia GPU设备。)