- imgproc-图像处理模块:包含图像操作的基本函数,如图像缩放,旋转,shijain滤波器,边缘检测,形态学 运算等。
- core-核心模块:提供了基本的数据结构和数学运算,如矩阵运算和数组操作。
- highgui-用户界面:用于显示视频和图像,以及处理鼠标和键盘事件。
- calib3d-校准和3d重构模块:相机校准,姿势估计,立体视觉等。
- features2d-特征检测和描述模块:用于检测和描述图像的特征点,如SIFT,SURF,ORB等。
- objdetect-目标检测模块:包含预训练的分类器,如Haar分类器LBP分类器,用于人脸检测。
- ml-机器学习模块:提供了多种机器学习算法,如决策树,随机森林,神经网络等。
- video-视频分析模块:包括背景减除,运动检测,光流估计等。
- stitching-拼接模块:用于图像拼接,创捷全景图。
- dnn-深度神经网络模块:支持加载和运行预训练的深度学习模型,如YOLO,SSD等。
基本思想概念:
输出的图片都是由像素点构成的。
彩色图像
彩色图像通常包含三个或更多颜色通道,最常见的就是RGB(红绿蓝)模型。在RGB模型中,每个像素由红色、绿色和蓝色三个分量构成,每个分量的值范围通常是从0到255(8位图像),表示该像素在红、绿、蓝三种颜色上的强度。彩色图像能够展现丰富的色彩,适合于照片、绘画等需要真实色彩表达的场景。
灰度图像
灰度图像只包含一个亮度通道,每个像素的值代表该点的灰度等级,从黑色(通常表示为0)到白色(通常表示为255)。灰度图像没有色彩信息,只有亮度变化。虽然它们不如彩色图像多彩,但灰度图像在许多图像处理任务中非常有用,如边缘检测、纹理分析、特征提取等,因为它们减少了计算复杂度,同时也能够突出图像的结构和细节。
二值图像
二值图像(或黑白图像)是最简单的图像类型,每个像素仅包含两个可能的值,通常表示为0和1,或者黑和白。在二值图像中,0通常代表背景,1代表前景。二值图像主要用于图像分割、形状分析和模式识别等领域。它们是通过阈值化(thresholding)从灰度图像或彩色图像中得到的,即将像素值高于某一阈值的设为1,低于阈值的设为0。